coordination #58184: [saga][epic][use case] full version control awareness within openQA, e.g. user forks and branches, fully versioned test schedules and configuration settings
action #48641: [epic] Trigger openQA tests in pull requests of any product github pull request
Provide a ready-to-use container image or GitHub action repository to trigger/monitor openQA jobs as CI checks size:M
As a contributor to an openQA test repository I'd like to trigger openQA jobs from the CI with minimal configuration effort and without duplicating code.
- AC1: A container image (or GitHub action repo) exists so triggering and monitoring openQA jobs requires only minimal configuration when setting up a project's CI
- AC2: No code needs to be copied & pasted to achieve AC1.
- AC3: Documentation how to setup openQA CI checks for a project on GitHub exists
- The container image is supposedly the way to go as it is not specific to GitHub.
- Provide a simple action.yaml and add it to the marketplace
- A script like https://github.com/Martchus/os-autoinst-distri-example/pull/1/files#diff-0c49fec5fa1043f61c80244f5166a024e6ffc25c73e86ef0822f385f641c5cb7 could be added to a container.
- What this script provides could be added as
openqa-clisub-command (#125720) and then the container would simply provide
#1 Updated by cdywan 3 months ago
- Subject changed from Provide a ready-to-use container image or GitHub action repository to trigger/monitor openQA jobs as CI checks to Provide a ready-to-use container image or GitHub action repository to trigger/monitor openQA jobs as CI checks size:M
- Description updated (diff)
- Status changed from New to Workable
#2 Updated by mkittler 3 months ago
- Assignee set to mkittler
I'd like to work on it once https://github.com/os-autoinst/openQA/pull/5036 has been merged.
#3 Updated by mkittler 3 months ago
The PR hasn't been merged yet but for now I've created https://build.opensuse.org/package/show/devel:openQA:ci/client. I've also created https://github.com/Martchus/os-autoinst-distri-example/pull/new/ci-2 but it isn't worth creating a PR without https://github.com/os-autoinst/openQA/pull/5036.
#4 Updated by okurz 3 months ago
The PR hasn't been merged yet but for now I've created https://build.opensuse.org/package/show/devel:openQA:ci/client.
I think we should reserve the :ci subproject for just the openQA CI dependencies itself, not what we deliver to users. Maybe just devel:openQA itself where we also publish other containers from?
#5 Updated by mkittler 3 months ago
Ok, I'll move it under
EDIT: Done, I've added it there as https://build.opensuse.org/package/show/devel:openQA/openQA_container_client following our current naming pattern.
#7 Updated by mkittler 3 months ago
- PR in example repo using https://build.opensuse.org/package/show/devel:openQA/openQA_container_client: https://github.com/os-autoinst/os-autoinst-distri-example/pull/12
- It currently fails because the credentials are missing; not sure why that's the case.
- The version of my fork (which is configured to run on my local openQA instance with all credentials are present): https://github.com/Martchus/os-autoinst-distri-example/pull/2
- Further openQA PRs to improve the client (shouldn't be required for ACs but nice to have):
- fix for openQA's logging of auth errors: https://github.com/os-autoinst/openQA/pull/5048
- provide the container image's Dockerfile via the openQA repo: https://github.com/os-autoinst/openQA/pull/5049
- for testing with my own openQA instance which is made available under a nested path: https://github.com/os-autoinst/openQA/pull/5050
#8 Updated by openqa_review 3 months ago
- Due date set to 2023-04-05
Setting due date based on mean cycle time of SUSE QE Tools
#9 Updated by mkittler 2 months ago
I've created a new PR: https://github.com/os-autoinst/os-autoinst-distri-example/pull/13
This one works. Apparently, for secrets to be available the PR needs to be created from a branch on the same repo (not a fork). Not ideal but supposedly also nothing I can fix.
The most important openQA PR has also already been merged.
#10 Updated by mkittler 2 months ago
- Status changed from In Progress to Feedback
The container is now built based on the Dockerfile in the openQA Git repository.
So the only crucial PR for this ticket that is still pending is https://github.com/os-autoinst/os-autoinst-distri-example/pull/13.
#11 Updated by mkittler 2 months ago
- Status changed from Feedback to Resolved
This is resolved now. I've already been showing the CI runs in last Fridays demo as only the documentation was missing. It now has been merged as well (see https://github.com/os-autoinst/openQA/pull/5055) as all the other PRs mentioned in #125723#note-7.
#12 Updated by okurz 2 months ago
- Status changed from Resolved to Feedback
- Priority changed from Normal to High
https://github.com/os-autoinst/os-autoinst-distri-example/pull/13 should not have been merged. I created https://github.com/os-autoinst/os-autoinst-distri-example/pull/14 as a revert but we can discuss a better solution. The original purpose of os-autoinst-distri-example was and is to act as a starting point for trainings where people trigger openQA tests that fail quickly in an expected manner as the bootloader needle does not exist so that people can create needles as a training exercise.
#13 Updated by okurz 2 months ago
https://github.com/os-autoinst/os-autoinst-distri-example/pull/15 to update the description
#14 Updated by okurz 2 months ago
- Due date deleted (
- Status changed from Feedback to Resolved
https://github.com/os-autoinst/os-autoinst-distri-example/pull/15 merged, we are good.