action #128087
closedcoordination #127031: [saga][epic] openQA for SUSE customers
coordination #127028: [epic] openQA on SLE+packagehub
Regular cleanup of OBS project devel:openQA:* size:M
Description
Motivation¶
See #127883
Acceptance Criteria¶
- AC1: Projects in devel:openQA:* are in a known, clean state
- AC2: For each package (link) in in devel:openQA:Leap:* we can understand why we have it there and what needs to be done to not need to maintain that package link anymore
- AC3: We are notified if there's a package with a link without a reason
Suggestions¶
- Use the comment feature to add information to every linked package why we need it, which version we need and possibly a related ticket.
- For example
Reason for linking: We use it for organizing our repos. Not in Leap yet
like in https://build.opensuse.org/package/show/devel:openQA:Leap:15.4/git-subrepo
- For example
- Drop links which we don't have a reason to keep
- Drop links considered obsolete
- Automatically scan packages for comments to check that we're not missing any, e.g.
- Check out https://api.opensuse.org/apidocs/index#/Comments/get_comments_package__project_name___package_name_
- curl on the API to list all packages in each Leap:* repo, for each grep comments for "Reason for linking", fail if not found
- We could use osc or read-only API, first script solution:
for pkg in $(osc list devel:openQA:Leap:15.5); do osc comment list package devel:openQA:Leap:15.4 $pkg | grep -q 'Reason for linking' && continue; echo "package $pkg is missing reason for linking" && false; done
osc api /source/devel:openQA:Leap:15.5/perl-Perl-Tidy/_meta
osc api /source/devel:openQA:Leap:15.5/
- Ask in #help-obs
Updated by tinita about 1 year ago
- Copied from action #127883: Cleanup OBS project devel:openQA:Leap:15.4 added
Updated by jbaier_cz 7 months ago
- Description updated (diff)
- Status changed from Workable to In Progress
For AC3, I created a simple script to check all package comments and to look for "Reason for linking". The script outputs the problematic packages or return 0 on success, so it can be easily used in some CI checks.
Updated by openqa_review 6 months ago
- Due date set to 2023-11-07
Setting due date based on mean cycle time of SUSE QE Tools
Updated by jbaier_cz 6 months ago
We discussed briefly and decided to deploy the script inside Gitlab pipeline. There was a question if we can do that without involving containers (as we had some issues with the OBS container repository recently). Unfortunately, there is no longer a shared runner with Leap (or Tumbleweed) anymore and even the rest of the available runners are deployed via containers IBS.
Updated by jbaier_cz 6 months ago
I created a new project in Gitlab with some basic settings (CI enabled, e-mail notification upon failure). Inside my first PR https://gitlab.suse.de/openqa/scripts/-/merge_requests/1, there is basic template for running a scheduled job (the schedule is created but not yet enabled). With this, we should be able to run arbitrary script from that repository. The pipeline is running inside Tumbleweed container with preinstalled os-autoinst-scripts-deps.
Updated by livdywan 6 months ago
jbaier_cz wrote in #note-11:
I created a new project in Gitlab with some basic settings (CI enabled, e-mail notification upon failure). Inside my first PR https://gitlab.suse.de/openqa/scripts/-/merge_requests/1, there is basic template for running a scheduled job (the schedule is created but not yet enabled). With this, we should be able to run arbitrary script from that repository. The pipeline is running inside Tumbleweed container with preinstalled os-autoinst-scripts-deps.
Is it too late to rename it? We already have two repos called scripts that are easy to mix up...
Updated by jbaier_cz 6 months ago
livdywan wrote in #note-12:
Is it too late to rename it? We already have two repos called scripts that are easy to mix up...
It is never late to rename a repo if we have a better name... What is the other scripts repo though? Or do you mean os-autoinst/scripts? I choose the same name on purpose as it basically just runs scripts from that repo.
Updated by jbaier_cz 6 months ago
I like that, so the new repository is now located at https://gitlab.suse.de/openqa/scripts-ci
Updated by jbaier_cz 6 months ago
I reused information from #128651 to prune the package list a little bit. If there are no objections, on Monday I will do osc deleterequest
on the following:
- perl-Cpanel-JSON-XS
- perl-Inline-Python
- perl-MCE
- perl-Mojo-IOLoop-ReadWriteProcess
- perl-YAML-LibYAML-API
- tesseract-ocr
I am also tempted to delete perl-Selenium-Remote-Driver as the Leap version and Factory version are identical.
All other packages are commented with a reason which should conclude AC2.
Updated by okurz 6 months ago
- Status changed from Resolved to Workable
Two more things please:
- Add some basic information in https://gitlab.suse.de/openqa/scripts-ci/-/blob/master/README.md . I suggest something very simple like based on https://gitlab.suse.de/openqa/osd-deployment/-/blob/master/README.md?ref_type=heads
- Reference the gitlab project in https://progress.opensuse.org/projects/qa/wiki/Tools#Common-tasks-for-team-members
Updated by jbaier_cz 6 months ago
okurz wrote in #note-19:
Two more things please:
- Add some basic information in https://gitlab.suse.de/openqa/scripts-ci/-/blob/master/README.md . I suggest something very simple like based on https://gitlab.suse.de/openqa/osd-deployment/-/blob/master/README.md?ref_type=heads
- Reference the gitlab project in https://progress.opensuse.org/projects/qa/wiki/Tools#Common-tasks-for-team-members
Good idea, will do.
Updated by jbaier_cz 2 months ago
- Related to action #156049: [alert] Scripts CI pipeline failing with No reason for devel:openQA:Leap:15.6/local-npm-registry added