action #121228
opencoordination #99303: [saga][epic] Future improvements for SUSE Maintenance QA workflows with fully automated testing, approval and release
coordination #97121: [epic] enable qem-bot comments on IBS (was: enable qa-maintenance/openQABot comments on smelt again)
qem-bot comments on IBS
0%
Description
https://progress.opensuse.org/issues/121228
qem-bot comments on IBS
Motivation¶
Spike solution #114415 has been finished, now it needs to be turned into a feature.
User Story¶
As a maintenance coordinator when submitting a release request for a maintenance update I want to be informed as soon as the IBS review group "qam-openqa" can not approve a request so that I do not need to wait or poll for updates or ping people in chat.
Acceptance criteria¶
- AC1: As soon as testing for an individual release request is finished a comment is written in IBS linking to at least one failing test
- AC2: If there is no failing openQA test related to an individual release request no comment is written
- AC3: If there is already a comment by qem-bot nothing is added
Suggestions¶
- Take a look how the openSUSE maintenance bot works in https://build.opensuse.org/request/show/989570#comment-1653374
- Look at the GitLab pipeline executing the bot: https://gitlab.suse.de/qa-maintenance/bot-ng/-/pipeline_schedules
- Within qem-bot we already have the feature to send out comments but it seems so far it does not look at the state of openQA jobs so it writes a comment for all release requests whenever triggered which means informing even about all currently running jobs. Maybe the next best task is to actually look at the state and only inform about failing openQA tests
- Think about moving the trigger point of sending a comment into the approval step of qem-bot or something so when no automatic approval is done instead a comment is written. This is where each individual release request should be looked at
Find out if OBS API supports editing comments, otherwise maybe delete old comments (https://build.opensuse.org/apidocs/)OBS API has a feature request for editing comments- Ensure that only a single comment is written, not multiple whenever qem-bot is called, so either update the existing or delete the old one if OBS does not support updating existing comments
- See what tinita already did with https://github.com/openSUSE/qem-bot/pull/92
- Consider adding a feature switch for the commenting feature so that we can easily enable/disable the functionality in one-time manual runs as well as in scheduled runs (see feature request proposed in https://github.com/openSUSE/qem-bot/pull/92)
- Consider extending the mocking tests/test_approve.py with mocking the OBS functionality
Out of scope¶
- Updating existing OBS comments as apparently updating is not currently possible over API, see feature request for editing comments
Updated by robert.richardson almost 2 years ago
- Copied from action #114415: [timeboxed:10h][spike solution] qem-bot comments on IBS size:S added
Updated by okurz almost 2 years ago
- Due date deleted (
2022-12-01) - Start date deleted (
2022-07-20)
Updated by okurz over 1 year ago
- Tags changed from mob to mob, qem-bot, obs, ibs, maintenance
Updated by tinita over 1 year ago
Rebased https://github.com/openSUSE/qem-bot/pull/92 and started with a small test.
TODOs:
- When calling
get_incident_result()
, return the failing openqa job id(s), so that_post_obs_comment()
can use it to add links to the failing test(s) in the comment - Figure out the format of the comment, and how it should be compared in order to avoid duplicate comments
Updated by okurz about 1 year ago
- Target version changed from Ready to Tools - Next
Updated by okurz about 1 year ago
- Target version changed from Tools - Next to Ready
Updated by okurz about 1 year ago
- Target version changed from Ready to Tools - Next
Updated by okurz about 1 year ago
- Target version changed from Tools - Next to Ready
Updated by okurz 10 months ago
- Copied to action #153107: Proper code coverage for at least commenter.py in qem-bot size:M added
Updated by okurz 10 months ago
- Assignee deleted (
okurz) - Target version changed from Ready to future
Blocked by #153107. As discussed in collaborative session 2024-01-04 while this ticket is technically the correct next step to do I am not convinced it provides sufficient Return-on-Invest for the tools team to go further in this direction but rather we should focus on features that benefit more and multiple products and use cases, e.g. where it benefits both Tumbleweed and SLE maintenance tests. Hence removing from backlog.
Updated by okurz 9 months ago
- Copied to action #154498: [spike][timeboxed:20h][integration] Approve/reject SLE maintenance release requests on IBS synchronously listening to AMQP events when testing for one release request as "openQA product build" is finished size:M added