Project

General

Profile

Actions

action #130934

closed

coordination #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

Added by okurz over 1 year ago. Updated 9 months ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Feature requests
Target version:
Start date:
2023-06-15
Due date:
% Done:

0%

Estimated time:

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
Actions #1

Updated by tinita about 1 year ago

  • Target version changed from Ready to future

Our backlog is full with more urgent tasks.

Actions #2

Updated by okurz 10 months ago

  • Target version changed from future to Ready
Actions #3

Updated by okurz 9 months ago

  • Priority changed from Normal to High
Actions #4

Updated by mkittler 9 months ago

  • Status changed from Workable to In Progress
  • Assignee set to mkittler
Actions #5

Updated by mkittler 9 months ago

PRs:

So far this only allows one test per PR which I'm going to improve if you like the approach in general.

Actions #6

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

Actions #7

Updated by mkittler 9 months ago

PR for implementing this via a GitHub action: https://github.com/os-autoinst/scripts/pull/292

Actions #8

Updated by mkittler 9 months ago

  • Status changed from In Progress to Feedback

Waiting for feedback on the openSUSE distri change.

Actions #9

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

Actions #10

Updated by mkittler 9 months ago

Now with everything merged it still works and URLs show up in logs correctly, e.g.:

Cloned 'https://openqa.opensuse.org/tests/3964977' into:
 - https://openqa.opensuse.org/tests/3966534
Actions #11

Updated by mkittler 9 months ago

Actions #12

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.

Actions #13

Updated by okurz 9 months ago

  • Due date deleted (2024-03-06)
Actions

Also available in: Atom PDF