Skip to content

MULTIARCH-6031: Add new auto release docs#203

Open
AnnaZivkovic wants to merge 1 commit into
openshift:mainfrom
AnnaZivkovic:update-release-docs
Open

MULTIARCH-6031: Add new auto release docs#203
AnnaZivkovic wants to merge 1 commit into
openshift:mainfrom
AnnaZivkovic:update-release-docs

Conversation

@AnnaZivkovic
Copy link
Copy Markdown

@AnnaZivkovic AnnaZivkovic commented May 11, 2026

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for the automated release workflow, covering the complete release lifecycle including pipeline stages, configuration setup, validation procedures, monitoring commands, and emergency rollback procedures.

@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 11, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented May 11, 2026

@AnnaZivkovic: This pull request references MULTIARCH-6031 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.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Walkthrough

A new documentation file detailing the Konflux-based automated release workflow for the Multiarch Tuning Operator is added, covering the end-to-end release lifecycle, pipeline stages, configuration requirements, validation procedures, and operational guidance.

Changes

Cohort / File(s) Summary
Release Workflow Documentation
docs/auto-release-workflow.md
Comprehensive guide documenting the automated release lifecycle, including release-branch workflow, two-snapshot handling, pipeline stages (collectors, validation, tenant config, production release, post-release tagging), FBC catalog updates, Konflux configuration requirements, Enterprise Contract validation, troubleshooting, monitoring commands, and emergency/rollback procedures.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

🚥 Pre-merge checks | ✅ 11 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning Ginkgo e2e tests added in pkg/e2e/ require external connectivity to public registries (quay.io, gcr.io) and use fmt.Sprintf for URL construction, which fails on IPv6. Use net.JoinHostPort() instead of fmt.Sprintf("%s:%d", host, port) for IPv6 compatibility. Tests need mirroring or skipping with [Skipped:Disconnected] tag for disconnected environments. Run IPv6 CI tests to verify compatibility.
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'MULTIARCH-6031: Add new auto release docs' directly and clearly summarizes the main change - adding new documentation for automated release workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 All Ginkgo test names are stable and deterministic. No dynamic values (fmt.Sprintf, string concatenation, pod/namespace names, etc.) found in test titles. All tests use descriptive static strings.
Test Structure And Quality ✅ Passed Initial commit adds documentation and test files. Tests show assertion messages, BeforeEach/AfterEach cleanup, proper timeouts on Eventually calls.
Microshift Test Compatibility ✅ Passed PR adds only documentation (docs/auto-release-workflow.md) with no Ginkgo e2e tests or test code. MicroShift Test Compatibility check only applies to new tests, so it is not applicable here.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR adds only documentation (docs/auto-release-workflow.md). No Ginkgo e2e tests are added, so the SNO Test Compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed This PR adds only documentation (docs/auto-release-workflow.md). The custom check applies to deployment manifests, operator code, and controllers, none of which are present in this change.
Ote Binary Stdout Contract ✅ Passed This PR only adds documentation (docs/auto-release-workflow.md). The OTE Binary Stdout Contract check applies only to code changes in test binaries and process-level setup code, not documentation.

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

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

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

@openshift-ci openshift-ci Bot requested review from Prashanth684 and aleskandro May 11, 2026 19:48
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 11, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign prashanth684 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@AnnaZivkovic
Copy link
Copy Markdown
Author

/hold

wait till pipelines are merged

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 11, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
docs/auto-release-workflow.md (2)

466-466: ⚡ Quick win

Add language identifiers to fenced code blocks.

Several fenced code blocks lack language identifiers, which reduces syntax highlighting and readability in rendered markdown. Add appropriate identifiers for better documentation quality.

📋 Suggested language identifiers
  • Line 466 (Pipeline results): Add text or console

    -```
    +```text
     VERSION: v1.0.1
     TAG_URL: https://github.com/openshift/multiarch-tuning-operator/releases/tag/v1.0.1
  • Lines 782, 788, 794, 802 (Error messages): Add text or console

    -```
    +```text
     Error: Image signature verification failed
  • Lines 883, 896 (Error output): Add text or console

    -```
    +```text
     ❌ VALIDATION FAILED
  • Line 946 (Directory tree): Add text

    -```
    +```text
     fbc/
     ├── fbc-v4-17/

As per coding guidelines, markdownlint-cli2 flags these as violations of MD040 (fenced-code-language).

Also applies to: 782-782, 788-788, 794-794, 802-802, 883-883, 896-896, 946-946

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/auto-release-workflow.md` at line 466, Several fenced code blocks in
docs/auto-release-workflow.md are missing language identifiers (MD040); locate
the blocks containing "VERSION: v1.0.1" (pipeline results), the error lines
"Error: Image signature verification failed", the validation output "❌
VALIDATION FAILED", and the directory tree starting with "fbc/" and add an
appropriate language tag (e.g., text or console) after each opening ``` so the
blocks become ```text or ```console to enable syntax highlighting and satisfy
markdownlint-cli2.

542-546: 💤 Low value

Consider clarifying fixVersion format consistency.

The document shows different formats for the JIRA fixVersion field across examples:

  • Line 265: fixVersion = "1.3"
  • Line 543: fixVersion = "mto-1.3"
  • Line 546: fixVersion: "1.0"

If "mto-" is a required JIRA prefix for this project, consider adding a note explaining when to use it. If not, standardize the examples to avoid confusion.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/auto-release-workflow.md` around lines 542 - 546, Examples show
inconsistent JIRA fixVersion formats (e.g., query value containing fixVersion =
"mto-1.3" and frontmatter fixVersion: "1.0"); update the docs to either
standardize all examples to the canonical format or add a short note explaining
the required prefix (e.g., when to use "mto-") so readers know whether the
project requires a "mto-" prefix; specifically update the occurrences of the
fixVersion usage in the query example and the YAML frontmatter (referenced by
the symbol fixVersion and the query string) to follow the chosen convention and
make the rule explicit.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/auto-release-workflow.md`:
- Around line 131-140: The numbered list under "Repository Setup" is misnumbered
(it shows 1 then 3); update the numbering so items are sequential — change the
heading "3. **Development Stream Configuration**" to "2. **Development Stream
Configuration**" (and verify any subsequent numbered items continue
sequentially) to restore correct list order in docs/auto-release-workflow.md.
- Around line 358-362: The oc get snapshots command's label selector line
continuation is malformed; fix the selector so the labels are passed as a single
valid argument to oc (either put the entire -l selector on one line: e.g., -l
key1=val1,key2=val2, or if you must split lines, place a single trailing
backslash at the end of the physical line and do NOT include a stray
comma/characters after the backslash). Update the snippet around the oc get
snapshots invocation so the -l label selector
(appstudio.openshift.io/application=multiarch-tuning-operator-<version> and
pac.test.appstudio.openshift.io/event-type=push) is provided correctly as one
argument to the command.

---

Nitpick comments:
In `@docs/auto-release-workflow.md`:
- Line 466: Several fenced code blocks in docs/auto-release-workflow.md are
missing language identifiers (MD040); locate the blocks containing "VERSION:
v1.0.1" (pipeline results), the error lines "Error: Image signature verification
failed", the validation output "❌ VALIDATION FAILED", and the directory tree
starting with "fbc/" and add an appropriate language tag (e.g., text or console)
after each opening ``` so the blocks become ```text or ```console to enable
syntax highlighting and satisfy markdownlint-cli2.
- Around line 542-546: Examples show inconsistent JIRA fixVersion formats (e.g.,
query value containing fixVersion = "mto-1.3" and frontmatter fixVersion:
"1.0"); update the docs to either standardize all examples to the canonical
format or add a short note explaining the required prefix (e.g., when to use
"mto-") so readers know whether the project requires a "mto-" prefix;
specifically update the occurrences of the fixVersion usage in the query example
and the YAML frontmatter (referenced by the symbol fixVersion and the query
string) to follow the chosen convention and make the rule explicit.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f3a81ac6-72ba-4084-a523-e72cbbad79fe

📥 Commits

Reviewing files that changed from the base of the PR and between bdb29f6 and 88daab3.

📒 Files selected for processing (1)
  • docs/auto-release-workflow.md

Comment on lines +131 to +140
1. **Branch Structure**
- Main branch: `main`
- Release branches: `v1.0`, `v1.1`, etc.
- FBC branch: `fbc` (separate branch for File-Based Catalogs)


3. **Development Stream Configuration**
- Konflux Application and Components configured
- ProjectDevelopmentStream created for the release branch
- See [ocp-release.md - Branching](./ocp-release.md#branching-and-creation-of-a-new-development-stream) for initial setup
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix the numbered list sequence.

The numbered list under "Repository Setup" jumps from item 1 to item 3, skipping item 2. This appears to be an editing error.

📝 Proposed fix
 1. **Branch Structure**
    - Main branch: `main`
    - Release branches: `v1.0`, `v1.1`, etc.
    - FBC branch: `fbc` (separate branch for File-Based Catalogs)


-3. **Development Stream Configuration**
+2. **Development Stream Configuration**
    - Konflux Application and Components configured
    - ProjectDevelopmentStream created for the release branch
    - See [ocp-release.md - Branching](./ocp-release.md#branching-and-creation-of-a-new-development-stream) for initial setup
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/auto-release-workflow.md` around lines 131 - 140, The numbered list
under "Repository Setup" is misnumbered (it shows 1 then 3); update the
numbering so items are sequential — change the heading "3. **Development Stream
Configuration**" to "2. **Development Stream Configuration**" (and verify any
subsequent numbered items continue sequentially) to restore correct list order
in docs/auto-release-workflow.md.

Comment on lines +358 to +362
# Watch for snapshots (you'll see TWO: initial + nudge)
oc get snapshots --sort-by .metadata.creationTimestamp \
-l pac.test.appstudio.openshift.io/event-type=push,\
appstudio.openshift.io/application=multiarch-tuning-operator-<version>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix line continuation in command.

The label selector in the oc get snapshots command has improper line continuation formatting that may cause the command to fail.

🔧 Proposed fix
 # Watch for snapshots (you'll see TWO: initial + nudge)
 oc get snapshots --sort-by .metadata.creationTimestamp \
-  -l pac.test.appstudio.openshift.io/event-type=push,\
-appstudio.openshift.io/application=multiarch-tuning-operator-<version>
+  -l pac.test.appstudio.openshift.io/event-type=push,appstudio.openshift.io/application=multiarch-tuning-operator-<version>

Alternatively, if multi-line formatting is preferred:

 # Watch for snapshots (you'll see TWO: initial + nudge)
 oc get snapshots --sort-by .metadata.creationTimestamp \
-  -l pac.test.appstudio.openshift.io/event-type=push,\
-appstudio.openshift.io/application=multiarch-tuning-operator-<version>
+  -l "pac.test.appstudio.openshift.io/event-type=push,\
+appstudio.openshift.io/application=multiarch-tuning-operator-<version>"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Watch for snapshots (you'll see TWO: initial + nudge)
oc get snapshots --sort-by .metadata.creationTimestamp \
-l pac.test.appstudio.openshift.io/event-type=push,\
appstudio.openshift.io/application=multiarch-tuning-operator-<version>
# Watch for snapshots (you'll see TWO: initial + nudge)
oc get snapshots --sort-by .metadata.creationTimestamp \
-l pac.test.appstudio.openshift.io/event-type=push,appstudio.openshift.io/application=multiarch-tuning-operator-<version>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/auto-release-workflow.md` around lines 358 - 362, The oc get snapshots
command's label selector line continuation is malformed; fix the selector so the
labels are passed as a single valid argument to oc (either put the entire -l
selector on one line: e.g., -l key1=val1,key2=val2, or if you must split lines,
place a single trailing backslash at the end of the physical line and do NOT
include a stray comma/characters after the backslash). Update the snippet around
the oc get snapshots invocation so the -l label selector
(appstudio.openshift.io/application=multiarch-tuning-operator-<version> and
pac.test.appstudio.openshift.io/event-type=push) is provided correctly as one
argument to the command.

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 11, 2026

@AnnaZivkovic: 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

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. 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