Project

General

Profile

Actions

action #102464

closed

openQA Infrastructure (public) - coordination #99183: [epic] Upgrade all our infrastructure, e.g. o3+osd workers+webui, to openSUSE Leap 15.3

Upgrade OBS package CI checks to Leap 15.3 (os-autoinst+openQA) size:M

Added by okurz about 3 years ago. Updated almost 3 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Organisational
Target version:
Start date:
2021-09-24
Due date:
% Done:

0%

Estimated time:

Description

Motivation

As we use Leap 15.3 as CI container base in os-autoinst and openQA so far already AFAIK we should also run the according OBS checks on Leap 15.3

Acceptance criteria

  • AC1: OBS checks run on pull requests for both os-autoinst and openQA test on Leap 15.3

Suggestions


Files

github-obs-scm-pr-checks.png (61.7 KB) github-obs-scm-pr-checks.png Github PR checks tinita, 2021-12-15 11:39

Related issues 3 (1 open2 closed)

Copied from openQA Infrastructure (public) - action #99240: Upgrade CI container image versions to Leap 15.3 size:MResolvedmkittler2021-09-24

Actions
Copied to openQA Project (public) - action #105819: Renew personal github token for os-autoinst-obs-workflowNew2023-02-01

Actions
Copied to openQA Project (public) - action #111887: Upgrade OBS package CI checks to Leap 15.4 (os-autoinst+openQA) size:SResolvedtinita

Actions
Actions #1

Updated by okurz about 3 years ago

  • Copied from action #99240: Upgrade CI container image versions to Leap 15.3 size:M added
Actions #2

Updated by okurz about 3 years ago

  • Target version set to Ready
Actions #3

Updated by okurz about 3 years ago

  • Project changed from openQA Infrastructure (public) to openQA Project (public)
  • Category set to Organisational
Actions #4

Updated by livdywan about 3 years ago

  • Description updated (diff)
  • Status changed from New to Workable
Actions #5

Updated by okurz about 3 years ago

  • Description updated (diff)
Actions #6

Updated by okurz about 3 years ago

  • Priority changed from Normal to High
Actions #7

Updated by tinita almost 3 years ago

  • Status changed from Workable to In Progress
  • Assignee set to tinita
Actions #8

Updated by tinita almost 3 years ago

It's configured on some of coolo's personal machines, and he will switch it to 15.3, but it will stop working "soon" because github will "switch off the auth keys".

So we should switch to the OBS CI integration soon.

Actions #10

Updated by tinita almost 3 years ago

I created a token and added a workflow to my fork https://github.com/perlpunk/os-autoinst

It's working in general. The original package is branched into ...:PR-123/os-autoinst, that means it is ready to build, but I need to figure out how to restrict the architectures and repos, so that we don't test all of them in every PR.

Actions #11

Updated by openqa_review almost 3 years ago

  • Due date set to 2021-12-25

Setting due date based on mean cycle time of SUSE QE Tools

Actions #12

Updated by tinita almost 3 years ago

  • Status changed from In Progress to Feedback

It seems there are still some limitations and/or bugs.

First I used the branch_package approach.
This worked in principle, but there are way too many platforms to test.
There is the filter feature to only report the platforms back to GitHub which we are interested in.
However, the builds for all the other platforms will still run, so it's a waste of energy, and the platforms
we want to see might start later.

As dmarcoux suggested, I tried the link_package + configure_repositories feature. The effect is as expected,
the repo is configured only with the specified platforms: https://build.opensuse.org/package/show/home:tinita:branches:devel:openQA:GitHubLink:perlpunk:os-autoinst:PR-10/os-autoinst

The first problem is that the multibuild tests for os-autoinst:os-autoinst-test are not appearing in the list of Github checks.
I created an issue: https://github.com/openSUSE/open-build-service/issues/11975

Another limitation is that the checks don't appear as pending "immediately", but only appear in the pull request when they are finished.
This is a (soon documented) limitation of multibuilds. See https://github.com/openSUSE/obs-docu/pull/212

For now I would say this is blocked because of the multibuild problem.

Meanwhile, coolo configured Leap 15.3 on his machine, so AC1 is fulfilled for now, but at some point it will stop working.
Not sure what to do.

Actions #13

Updated by tinita almost 3 years ago

I set myself a weekly reminder to look if the OBS multibuild issue has been resolved.

When it has been resolved at some point, a pull request like the following should be created to see if it works: https://github.com/perlpunk/os-autoinst/pull/10

As you can see in the attached screenshot, only 4 os-autoinst checks are reported back, but not os-autoinst:os-autoinst-test
But they are built: https://build.opensuse.org/package/show/home:tinita:branches:devel:openQA:GitHubLink:perlpunk:os-autoinst:PR-10/os-autoinst

Regarding old tokens being deactivated on Github: https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/ (there is no date mentioned)

Actions #14

Updated by okurz almost 3 years ago

  • Due date deleted (2021-12-25)

removing due-date for blocked task as you can check the external reference https://github.com/openSUSE/open-build-service/issues/11975 as provided for the resolution of Blocker.

Actions #16

Updated by tinita almost 3 years ago

  • Status changed from Blocked to In Progress

According to https://github.com/openSUSE/open-build-service/issues/11975 the fix was merged and deployed \o/

Actions #17

Updated by tinita almost 3 years ago

  • Status changed from In Progress to Feedback

I created a PR to add the workflow: https://github.com/os-autoinst/os-autoinst/pull/1929

I added a short documentation what's required (Tokens, Webhook) to the .obs/workflows.yml itself.

Actions #18

Updated by tinita almost 3 years ago

The fact that multibuilds only report the final success or fail is a documented limitation.
However, I created a feature request https://github.com/openSUSE/open-build-service/issues/12121 and it seems that this shouldn't be the case anymore. Dany is investigating.

My PR was approved and merged meanwhile, so we will be able to see how it behaves.
Waiting for a PR showing up that uses the new workflow.

Actions #19

Updated by tinita almost 3 years ago

Forgot that Oli needs to enable the workflow, because only he can create a webhook in the project.

Actions #20

Updated by tinita almost 3 years ago

  • Assignee changed from tinita to okurz
Actions #21

Updated by tinita almost 3 years ago

  • Assignee changed from okurz to tinita
Actions #22

Updated by tinita almost 3 years ago

Actions #23

Updated by tinita almost 3 years ago

  • Status changed from Feedback to In Progress

Now working on the same thing for the openQA repo.

Actions #24

Updated by openqa_review almost 3 years ago

  • Due date set to 2022-02-11

Setting due date based on mean cycle time of SUSE QE Tools

Actions #26

Updated by tinita almost 3 years ago

I created a user on OBS and Github with the email address osd-admins+os-autoinst-obs@suse.de

https://build.opensuse.org/users/os-autoinst-obs-workflow
https://github.com/os-autoinst-obs-workflow

  • I created a personal token on github
  • I created a workflow token on OBS
  • I created a webhook for os-autoinst/openQA with the OBS workflow token

PR to adapt the new workflow format: https://github.com/os-autoinst/openQA/pull/4492 (merged)

Dany already did this for os-autoinst: https://github.com/os-autoinst/os-autoinst/pull/1944 (merged)

Actions #27

Updated by tinita almost 3 years ago

  • Copied to action #105819: Renew personal github token for os-autoinst-obs-workflow added
Actions #28

Updated by tinita almost 3 years ago

Created PR to adjust mergify for openQA: https://github.com/os-autoinst/openQA/pull/4495

However, the leap builds are unresolvable:

have choice for rubygem(ruby:2.5.0:rb-fsevent) >= 0.9.4 needed by ruby2.5-rubygem-sass-listen: ruby2.5-rubygem-rb-fsevent ruby2.5-rubygem-rb-fsevent-0.11,
have choice for rubygem(ruby:2.5.0:rb-fsevent:0) >= 0.9 needed by ruby2.5-rubygem-sass-listen: ruby2.5-rubygem-rb-fsevent ruby2.5-rubygem-rb-fsevent-0.11

This can be solved with a project config: https://build.opensuse.org/projects/devel:openQA/prjconf

Now I need to find out how to configure that for the automatically created OBS projects.

Actions #29

Updated by tinita almost 3 years ago

So, @okurz asked #opensuse-factory, and with the help of DimStar we could solve it.
@okurz edited the project config for https://build.opensuse.org/projects/devel:openQA:Leap:15.3/prjconf and now all platforms are building.

Actions #30

Updated by okurz almost 3 years ago

OBS checks in pull requests like https://github.com/os-autoinst/openQA/pull/4497 look fine. I guess we can disable and remove the existing OBS checks for openQA as well. I have removed the according branch protection rule now, same as I did some time ago for os-autoinst.

Actions #31

Updated by okurz almost 3 years ago

tasks left to do:

  • use the non-personal token for the OBS+github connection
  • openQA mergify configuration (remove old OBS check, add new)
  • disable old OBS checks for openQA
Actions #32

Updated by tinita almost 3 years ago

Both repos are now using the tokens for the newly created non-personal user.
The webhook used for this is: https://build.opensuse.org/trigger/workflow?id=5857

PR for mergify openQA: https://github.com/os-autoinst/openQA/pull/4495
PR for mergify os-autoinst: https://github.com/os-autoinst/os-autoinst/pull/1947

pinged @coolo that he can turn off the old OBS integration.

Actions #33

Updated by okurz almost 3 years ago

https://github.com/os-autoinst/openQA/pull/4495 merged, os-autoinst change still open, approved by me, waiting for second approval.

Actions #34

Updated by tinita almost 3 years ago

  • Status changed from In Progress to Resolved
Actions #35

Updated by okurz almost 3 years ago

  • Due date deleted (2022-02-11)
Actions #36

Updated by tinita almost 3 years ago

The user osd-admins+os-autoinst-obs@suse.de was removed from the tools-team on github, and it doesn't have the permission to create webhooks now.
I would re-open this ticket, but redmine doesn't let me.

edit: Resolved

Actions #37

Updated by okurz over 2 years ago

  • Copied to action #111887: Upgrade OBS package CI checks to Leap 15.4 (os-autoinst+openQA) size:S added
Actions

Also available in: Atom PDF