action #130934
closedcoordination #58184: [saga][epic][use case] full version control awareness within openQA
coordination #48641: [epic] Trigger openQA tests in pull requests of any product github pull request
coordination #130850: [epic] Use openqa-clone-custom-git-refspec to parse github description+comments and trigger openQA tests as part of CI
Trigger openQA tests mentioned in github description as part of CI size:M
Description
Motivation¶
Now we have a CI integration of openQA and pull requests on github can trigger openQA jobs and feed back the result. A challenge for big test matrices is to select which openQA jobs to execute. openqa-clone-custom-git-refspec for years can parse github description (and comments?) for openQA jobs to clone. That can now be integrated together to … be awesome
A comment like this or another format can be used in PR descriptions or commits to clone a job:
@openqa: Clone my/test/job/url
Acceptance criteria¶
- AC1: openQA CI integration in any existing test distribution github project automatically runs openQA tests based on links to existing openQA jobs in the github description
- AC2: openQA documentation explains how the CI integration in new test distribution github projects can be setup to run as in AC1
Suggestions¶
- Read what was done originally in #63712 and the according pull request to openQA https://github.com/os-autoinst/openQA/pull/2618
- Try out openqa-clone-custom-git-ref with special comments
- Follow what the script does, not necessarily need to use it but re-implement or whatever
- Document this feature somewhere
- If you come up with something that works in a github workflow but becomes too big consider creating a github action repository or create an additional feature in our existing scripting
Out of scope¶
- Optional: Passing job customization with test parameter passing
- Optional: Parsing github comments (only the description)
- Optional: Triggering new jobs on updates to the github description
- Optional: Make it work for internal openQA instances
Updated by tinita about 1 year ago
- Target version changed from Ready to future
Our backlog is full with more urgent tasks.
Updated by mkittler 9 months ago
PRs:
- https://github.com/os-autoinst/openQA/pull/5482
- https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18697
So far this only allows one test per PR which I'm going to improve if you like the approach in general.
Updated by openqa_review 9 months ago
- Due date set to 2024-03-06
Setting due date based on mean cycle time of SUSE QE Tools
Updated by mkittler 9 months ago
PR for implementing this via a GitHub action: https://github.com/os-autoinst/scripts/pull/292
Updated by mkittler 9 months ago
The PR has been merged and it works: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18744
There's some final tweak regarding variables yet to be merged: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18745
Updated by mkittler 9 months ago
Documentation for AC2: https://github.com/os-autoinst/openQA/pull/5490
Updated by mkittler 9 months ago
- Status changed from Feedback to Resolved
The documentation PR has been merged as well. So all ACs are fulfilled. I've also just used it on another PR: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18754 - So I guess this is indeed kind of useful. I closed https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18744.