action #102464
closedopenQA Infrastructure - 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
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¶
- Find out where this is configured (might still be personally configured by coolo somewhere) and update to use Leap 15.3 both for os-autoinst and openQA OR use the new feature within OBS https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.scm_ci_workflow_integration.html#sec.obs.obs_scm_ci_workflow_integration.use_cases.test_build_pull_request and ask coolo to disable his service
- Verify that it works, e.g. by opening a pull request for both os-autoinst and openQA
- see https://build.opensuse.org/projects/devel:openQA:TestGithub:OPR-1854/meta as an example
Files
Updated by okurz about 3 years ago
- Copied from action #99240: Upgrade CI container image versions to Leap 15.3 size:M added
Updated by okurz about 3 years ago
- Project changed from openQA Infrastructure to openQA Project
- Category set to Organisational
Updated by livdywan about 3 years ago
- Description updated (diff)
- Status changed from New to Workable
Updated by tinita almost 3 years ago
- Status changed from Workable to In Progress
- Assignee set to tinita
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.
Updated by tinita almost 3 years ago
Already made a PR for fixing YAML syntax in the OBS docs: https://github.com/openSUSE/obs-docu/pull/211 ;-)
https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.scm_ci_workflow_integration.html
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.
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
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.
Updated by tinita almost 3 years ago
- File github-obs-scm-pr-checks.png github-obs-scm-pr-checks.png added
- Status changed from Feedback to Blocked
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)
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.
Updated by tinita almost 3 years ago
https://trello.com/c/3L5iAioF/1817-initial-reporting-to-scm-isnt-working-for-flavors-of-multibuild-packages was moved to "Doing", and there is a pull request: https://github.com/openSUSE/open-build-service/pull/12089
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/
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.
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.
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.
Updated by tinita almost 3 years ago
- Assignee changed from tinita to okurz
@okurz can you please do those steps: https://github.com/os-autoinst/os-autoinst/blob/master/.obs/workflows.yml#L24
Updated by tinita almost 3 years ago
Another issue to watch: https://github.com/openSUSE/obs-docu/pull/218
Updated by tinita almost 3 years ago
- Status changed from Feedback to In Progress
Now working on the same thing for the openQA repo.
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
Updated by tinita almost 3 years ago
https://github.com/os-autoinst/openQA/pull/4483 Add OBS workflow
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)
Updated by tinita almost 3 years ago
- Copied to action #105819: Renew personal github token for os-autoinst-obs-workflow added
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.
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.
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.
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
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.
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.
Updated by tinita almost 3 years ago
- Status changed from In Progress to Resolved
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
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