Project

General

Profile

Actions

action #121228

open

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

Added by robert.richardson about 2 years ago. Updated 12 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

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


Related issues 3 (1 open2 closed)

Copied from QA (public) - action #114415: [timeboxed:10h][spike solution] qem-bot comments on IBS size:SResolvedtinita2022-07-20

Actions
Copied to QA (public) - action #153107: Proper code coverage for at least commenter.py in qem-bot size:MWorkable

Actions
Copied to QA (public) - 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:MResolvedjbaier_cz

Actions
Actions #1

Updated by robert.richardson about 2 years ago

  • Copied from action #114415: [timeboxed:10h][spike solution] qem-bot comments on IBS size:S added
Actions #2

Updated by okurz about 2 years ago

  • Due date deleted (2022-12-01)
  • Start date deleted (2022-07-20)
Actions #3

Updated by okurz almost 2 years ago

  • Description updated (diff)
Actions #4

Updated by okurz almost 2 years ago

  • Description updated (diff)
Actions #5

Updated by okurz almost 2 years ago

  • Tags changed from mob to mob, qem-bot, obs, ibs, maintenance
Actions #6

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

Updated by okurz over 1 year ago

  • Target version changed from Ready to Tools - Next
Actions #8

Updated by okurz about 1 year ago

  • Target version changed from Tools - Next to Ready
Actions #9

Updated by okurz about 1 year ago

  • Target version changed from Ready to Tools - Next
Actions #10

Updated by okurz about 1 year ago

  • Target version changed from Tools - Next to Ready
Actions #11

Updated by okurz about 1 year ago

  • Target version changed from Ready to Tools - Next
Actions #12

Updated by okurz about 1 year ago

  • Target version changed from Tools - Next to Ready
Actions #13

Updated by livdywan 12 months ago

  • Subject changed from qem-bot comments on IBS size:M to qem-bot comments on IBS
  • Status changed from Workable to New

This has been moved around a bunch of times now. Let's re-estimate this. Maybe it makes sense to split?

Actions #14

Updated by dheidler 12 months ago

  • Description updated (diff)
Actions #15

Updated by okurz 12 months ago

  • Description updated (diff)
  • Assignee set to okurz
Actions #16

Updated by okurz 12 months ago

  • Copied to action #153107: Proper code coverage for at least commenter.py in qem-bot size:M added
Actions #17

Updated by okurz 12 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.

Actions #18

Updated by okurz 11 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
Actions

Also available in: Atom PDF