Skip to content

USHIFT-6935: MicroShift CI Doctor: enable auto-bug creation and add report refresh command#79307

Open
ggiguash wants to merge 1 commit into
openshift:mainfrom
ggiguash:ci-doctor-auto-bug-creation
Open

USHIFT-6935: MicroShift CI Doctor: enable auto-bug creation and add report refresh command#79307
ggiguash wants to merge 1 commit into
openshift:mainfrom
ggiguash:ci-doctor-auto-bug-creation

Conversation

@ggiguash
Copy link
Copy Markdown
Contributor

@ggiguash ggiguash commented May 14, 2026

MicroShift CI Doctor - Enable Automated Bug Creation and Add Report Refresh

Changes: Updates the MicroShift CI Doctor automated workflow script to enable production bug creation and add a new report refresh capability.

What's affected: The CI step configuration for the MicroShift CI Doctor, which is part of the OpenShift edge-tooling CI infrastructure in the openshift/release repository.

Key improvements:

  1. Automated Bug Creation Enabled: Modifies the microshift-ci:create-bugs plugin invocation to add the --create --auto flags (line 254), transitioning from dry-run mode to actively creating bugs in Jira. This allows the CI Doctor to automatically file issues for discovered problems without manual intervention.

  2. New Report Refresh Phase: Adds a new Claude workflow step that runs the microshift-ci:doctor-refresh command with a 5-minute timeout and 30 turns (lines 258-267). This refreshes the HTML report after bugs are created to reflect the updated information in the final output.

  3. Enhanced Logging: Introduces a new log file CLAUDE_REPORT_REFRESH_LOG (line 14) to track the report refresh phase, and updates the exit handler to verify successful completion of all three Claude workflow phases: analysis, bug creation, and report refresh (line 46).

Timing adjustments:

  • Analysis phase: Explicit timeout set to 2700 seconds (45 minutes)
  • Bug creation phase: Maintains 600 seconds (10 minutes) with 50 turns
  • New refresh phase: 300 seconds (5 minutes) with 30 turns

Impact: Enhances automation in MicroShift's CI pipeline by enabling the CI Doctor to autonomously create Jira bugs for detected issues, reducing manual triage overhead, while ensuring reports are up-to-date with the newly created bugs.

Note: The associated Jira issue USHIFT-6935 currently lacks a target version assignment; a version of 5.0.0 is expected.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 14, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 14, 2026

@ggiguash: This pull request references USHIFT-6935 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 14, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 14, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@ggiguash ggiguash changed the title USHIFT-6935: MicroShift CI Doctor - enable auto-bug creation and add report refresh command USHIFT-6935: MicroShift CI Doctor: enable auto-bug creation and add report refresh command May 14, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 14, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ggiguash

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 14, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 8308ecfe-f72d-4b82-89af-dea538d1a6c2

📥 Commits

Reviewing files that changed from the base of the PR and between 54c0523 and 810aa4a.

📒 Files selected for processing (1)
  • ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh

Walkthrough

This PR modifies a CI operator step registry shell script to enable Claude-driven bug creation (removing dry-run mode), adjust the analysis phase timeout, and introduce a new HTML report refresh phase with log validation.

Changes

Claude Workflow Pipeline Updates

Layer / File(s) Summary
Log file infrastructure
ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh
New CLAUDE_REPORT_REFRESH_LOG variable is declared and integrated into the atexit_handler log-verification loop to validate completion of the HTML report refresh phase.
Claude workflow phase adjustments
ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh
Analysis phase timeout is updated (timeout 2700), bug-creation phase transitions from dry-run to actual creation by adding --create --auto arguments, and a new HTML report refresh phase (running microshift-ci:doctor-refresh) is appended to the workflow with its own timeout and max-turns configuration.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

lgtm

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main changes: enabling auto-bug creation and adding a report refresh command for MicroShift CI Doctor, which matches the actual modifications in the changeset.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed Custom check for Ginkgo test names is not applicable. PR modifies only a bash shell script (.sh file), not Go test files containing Ginkgo tests (It(), Describe(), etc.).
Test Structure And Quality ✅ Passed Custom check for Ginkgo test code quality is not applicable. PR modifies only a shell script (openshift-edge-tooling-microshift-ci-doctor-commands.sh), not Go/Ginkgo test files.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests added. Modified file is a shell script for CI automation, not a test file. Check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This custom check is for new Ginkgo e2e tests assuming multi-node clusters. The PR modifies only a bash CI script with no e2e test additions. The check is not applicable to this PR.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only a CI/CD shell script, not Kubernetes manifests/operator code. No scheduling constraints introduced.
Ote Binary Stdout Contract ✅ Passed The custom check is not applicable to this PR. The changes are in a shell script for CI orchestration, not in an OTE test binary or Go code. No stdout contract violations are possible in this context.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Modified file is a bash shell script, not a Ginkgo e2e test. Check only applies to Ginkgo tests (It, Describe, Context, When), which are absent. No Go test files modified.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@ggiguash: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor N/A periodic Registry content changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@ggiguash
Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ggiguash: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@ggiguash ggiguash marked this pull request as ready for review May 14, 2026 17:14
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 14, 2026
@openshift-ci openshift-ci Bot requested review from eslutsky and fonta-rh May 14, 2026 17:15
@ggiguash
Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ggiguash: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 15, 2026

@ggiguash: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants