Skip to content

Conversation

@eggfoobar
Copy link

@eggfoobar eggfoobar commented Dec 23, 2025

added command to help analyze a ci payload to get information on components and PRs that are included in that payload.

What this PR does / why we need it:

Helps analyze a CI payload image to determine what PRs are included and component information for debugging.

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.

Summary by CodeRabbit

  • New Features

    • Introduced /ci:analyze-payload <payload-image> command to analyze OpenShift CI payload images and surface component images, metadata, architectures, and included PRs.
  • Documentation

    • Added comprehensive docs and examples for the analyze-payload command covering usage, prerequisites, output formats, and typical workflows.

✏️ Tip: You can customize this high-level summary in your review settings.

@openshift-ci openshift-ci bot requested review from dgoodwin and rvanderp3 December 23, 2025 15:23
@openshift-ci
Copy link

openshift-ci bot commented Dec 23, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: eggfoobar
Once this PR has been reviewed and has the lgtm label, please assign theobarberbany 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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 23, 2025

Walkthrough

Adds a new CI plugin command declaration and documentation for /ci:analyze-payload <payload-image> to analyze OpenShift CI payload images, extract component images, metadata, and included PRs.

Changes

Cohort / File(s) Summary
Command Registration
PLUGINS.md, docs/data.json
Added public command declaration and metadata for /ci:analyze-payload <payload-image> (name, synopsis, argument_hint, description).
Plugin Documentation
plugins/ci/README.md, plugins/ci/commands/analyze-payload.md
Added detailed README section and a new command doc describing usage, prerequisites (oc usage/auth), payload extraction steps, component/image/digest extraction, Sippy PR retrieval, output structure, and examples.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

✅ Passed checks (7 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add ci:analyze-payload command' directly and clearly describes the main change: adding a new command to the ci plugin for analyzing payload images.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
No Real People Names In Style References ✅ Passed The new ci:analyze-payload command documentation uses objective technical language throughout with no references to real people's names in style references, examples, or instructions.
No Assumed Git Remote Names ✅ Passed Modified files contain no git commands; uses OpenShift CLI, curl, and shell utilities instead.
Git Push Safety Rules ✅ Passed The pull request contains only documentation and configuration file changes with no shell scripts, automation workflows, or git push commands present.
No Untrusted Mcp Servers ✅ Passed The pull request does not introduce any MCP server installations from untrusted sources, npm packages, npx commands, or arbitrary dependencies. The new command relies only on existing tools like OpenShift CLI and Sippy API.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 9c39ba8 and 9d09397.

📒 Files selected for processing (4)
  • PLUGINS.md
  • docs/data.json
  • plugins/ci/README.md
  • plugins/ci/commands/analyze-payload.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • plugins/ci/commands/analyze-payload.md
  • plugins/ci/README.md
  • docs/data.json

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

Copy link
Contributor

@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 (1)
plugins/ci/commands/analyze-payload.md (1)

10-10: Consider fixing markdown formatting issues.

Static analysis flagged several minor markdown formatting issues:

  1. Missing language specifiers (lines 10, 285, 291, 297, 303, 347): Fenced code blocks should specify a language for proper syntax highlighting
  2. Bare URLs (lines 51, 316, 399): URLs should be wrapped in angle brackets <URL> or formatted as markdown links

These are style/formatting issues that improve readability but don't affect functionality.

Example fixes

For fenced code blocks without language:

-```
+```bash
 /ci:analyze-payload <payload-image>

For bare URLs:
```diff
-- Download from https://mirror.openshift.com/pub/openshift-v4/clients/ocp/
+- Download from <https://mirror.openshift.com/pub/openshift-v4/clients/ocp/>

Also applies to: 51-51, 285-285, 316-316, 347-347, 399-399

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 47cd45c and 9c39ba8.

📒 Files selected for processing (4)
  • PLUGINS.md
  • docs/data.json
  • plugins/ci/README.md
  • plugins/ci/commands/analyze-payload.md
🧰 Additional context used
🪛 GitHub Actions: Lint Plugins
docs/data.json

[error] 1-1: Claude linting failed: docs/data.json is out of sync with plugin metadata. Run 'make update' to update. (exit code 1 during lint step).

PLUGINS.md

[error] 1-1: Claude linting failed: PLUGINS.md is out of sync with plugin metadata. Run 'make update' to update. (exit code 1 during lint step).

🪛 markdownlint-cli2 (0.18.1)
plugins/ci/commands/analyze-payload.md

10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


51-51: Bare URL used

(MD034, no-bare-urls)


219-219: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


220-220: Unordered list indentation
Expected: 2; Actual: 5

(MD007, ul-indent)


221-221: Unordered list indentation
Expected: 2; Actual: 5

(MD007, ul-indent)


222-222: Unordered list indentation
Expected: 2; Actual: 5

(MD007, ul-indent)


223-223: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


224-224: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


225-225: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


285-285: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


291-291: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


297-297: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


303-303: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


316-316: Bare URL used

(MD034, no-bare-urls)


347-347: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


399-399: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (2)
plugins/ci/README.md (1)

67-103: LGTM! Well-structured documentation.

The documentation for the new analyze-payload command is comprehensive, clear, and follows the same pattern as other commands in this file. The prerequisites, usage, examples, and feature descriptions are well-organized and informative.

plugins/ci/commands/analyze-payload.md (1)

1-400: Comprehensive and well-structured documentation.

This documentation file is exceptionally detailed and well-organized. It provides:

  • Clear description and use cases
  • Detailed implementation steps with shell commands
  • Comprehensive error handling guidance
  • Helpful examples and prerequisites
  • Specific guidance for AI agents (lines 256-281)

The level of detail is particularly helpful for understanding the command's workflow and requirements.

added command to help analyze a ci payload to get information on components and PRs that are included in that payload.

Signed-off-by: ehila <ehila@redhat.com>
@eggfoobar eggfoobar force-pushed the add-analyze-payload-command branch from 9c39ba8 to 9d09397 Compare December 23, 2025 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant