Skip to content

openshift-mcp-server: Auto-ff daily - #83135

Open
2uasimojo wants to merge 1 commit into
openshift:mainfrom
2uasimojo:mcp-server-auto-ff
Open

openshift-mcp-server: Auto-ff daily#83135
2uasimojo wants to merge 1 commit into
openshift:mainfrom
2uasimojo:mcp-server-auto-ff

Conversation

@2uasimojo

@2uasimojo 2uasimojo commented Aug 7, 2026

Copy link
Copy Markdown
Member

Co-Authored-By: claude

Summary by CodeRabbit

This PR adds daily OpenShift CI automation for the openshift/openshift-mcp-server repository.

  • Runs a fast-forward job daily at 06:00 UTC.
  • Fast-forwards the release-0.5 branch through the openshift-mcp-server-fastforward workflow.
  • Adds the CI step, workflow definitions, metadata, and ownership configuration.
  • Uses credential-safe Git operations and --ff-only before pushing updates.

@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

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

@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 Aug 7, 2026
@2uasimojo
2uasimojo force-pushed the mcp-server-auto-ff branch from 3696cd3 to 7c615b6 Compare August 7, 2026 22:12
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

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: 08bdc0e1-a22d-44a5-8397-9f7156cb5a6f

📥 Commits

Reviewing files that changed from the base of the PR and between 93cf1e9 and 05824d6.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (7)
  • ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml
🚧 Files skipped from review as they are similar to previous changes (7)
  • ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml

Walkthrough

Adds a CI fast-forward command, registers its step and workflow, and schedules a daily job to update the release-0.5 branch in the OpenShift MCP server repository.

Changes

MCP server fast-forward automation

Layer / File(s) Summary
Fast-forward command and CI step
ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh, ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml, ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS
The command configures credential-safe Git execution, clones the destination branch, applies git pull --ff-only, and pushes the result. The step defines the image, resources, credentials, and branch variables.
Workflow and metadata wiring
ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml, ci-operator/step-registry/openshift/mcp-server/fastforward/*.metadata.json
The workflow references the fast-forward step. Metadata records YAML paths and owner lists.
Scheduled release branch job
ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml
The configuration runs the fast-forward workflow daily at 06:00 UTC with release-0.5 as the destination branch.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ScheduledJob
  participant CIWorkflow
  participant FastforwardStep
  participant GitHubRepository
  ScheduledJob->>CIWorkflow: run daily at 06:00 UTC
  CIWorkflow->>FastforwardStep: invoke fast-forward workflow
  FastforwardStep->>GitHubRepository: clone destination branch
  FastforwardStep->>GitHubRepository: pull source branch with --ff-only
  FastforwardStep->>GitHubRepository: push release-0.5
Loading

Possibly related PRs

Suggested reviewers: dlom, cali0707

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the OpenShift MCP server and its daily automatic fast-forward change.
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 The patch adds only CI YAML, metadata, a symlink, and a shell workflow; it adds no Ginkgo It, Describe, Context, or When test titles.
Test Structure And Quality ✅ Passed The PR adds CI YAML, metadata, a symlink, and a shell script; it adds no Ginkgo test files or Ginkgo constructs, so the test-quality requirements do not apply.
Microshift Test Compatibility ✅ Passed The patch adds only CI YAML, generated job, metadata, OWNERS, and a shell workflow; it adds no Go files or Ginkgo e2e declarations such as It, Describe, Context, or When.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR adds CI configuration and a Git fast-forward workflow only; the diff contains no new Ginkgo e2e tests or multi-node/HA assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed The commit adds CI periodic-job and step-registry files only; scans found no affinity, topology spread, replica, node selector, toleration, or PDB scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR adds only CI YAML, metadata, a symlink, and Bash; no Go/OTE binary code or process-level suite stdout writes are present.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The commit adds CI YAML, metadata, OWNERS, and a shell workflow; it adds no Ginkgo e2e tests or test networking logic. The GitHub URL is workflow code, not a test.
No-Weak-Crypto ✅ Passed Changed files contain no MD5, SHA1, DES, RC4, Blowfish, ECB, crypto API, custom crypto, or secret/token comparison; Git uses HTTPS credentials only.
Container-Privileges ✅ Passed The new step, workflow, config, and generated periodic Job contain no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation, or root-user settings.
No-Sensitive-Data-In-Logs ✅ Passed The workflow logs only repository and branch metadata; the OAuth file feeds Git's credential helper and is not echoed, while only Git output is sent to the artifact log.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@2uasimojo
2uasimojo force-pushed the mcp-server-auto-ff branch from 7c615b6 to 050c2ad Compare August 7, 2026 22:15

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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
`@ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh`:
- Around line 30-36: Update the destination-branch clone handling in the
fast-forward command script so only a confirmed missing $DESTINATION_BRANCH
enters the fallback clone and branch-creation path. Preserve and propagate
authentication, network, repository, and server errors instead of treating them
as absent branches; use the existing git/logging flow and symbols without
changing successful clone behavior.
- Around line 16-25: Update the fast-forward script’s startup validation to
check both SOURCE_BRANCH and DESTINATION_BRANCH before the settings log, using
${SOURCE_BRANCH:-} so an unset or empty source is rejected safely under set -u.
Preserve the existing error-and-exit behavior, then allow logging and subsequent
git clone operations only after both branch values are valid.

In
`@ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml`:
- Around line 3-5: Update the workflow’s steps declaration to include empty pre
and post phases alongside the existing test phase, preserving the
openshift-mcp-server-fastforward test reference. Then run make
validate-step-registry to verify the step registry.
🪄 Autofix

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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: b753127d-7919-4dc0-9a94-015ed402f3e1

📥 Commits

Reviewing files that changed from the base of the PR and between 916113d and 050c2ad.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (7)
  • ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@2uasimojo
2uasimojo marked this pull request as ready for review August 10, 2026 19:53
@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 Aug 10, 2026
@openshift-ci
openshift-ci Bot requested review from Cali0707 and dlom August 10, 2026 19:53

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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
`@ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh`:
- Line 5: Update the HOME initialization around the mktemp command so its
failure status is preserved: first assign the mktemp result to a temporary
variable, then export HOME from that variable. Keep the existing mktemp template
and ensure failures stop before any subsequent directory change.
🪄 Autofix

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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 2c8b070e-d8b4-4cf1-baab-5e01e9d0a46b

📥 Commits

Reviewing files that changed from the base of the PR and between 9e75114 and f3e560e.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (7)
  • ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
  • ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml
  • ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml


set -euo pipefail

export HOME="$(mktemp -d -t ff-XXXXX)"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Preserve the mktemp failure status.

export HOME="$(mktemp -d -t ff-XXXXX)" returns the status of export, not the command substitution. If mktemp fails, set -e can miss the original failure and report a later cd error. Assign the result before exporting HOME.

Proposed fix
-export HOME="$(mktemp -d -t ff-XXXXX)"
+home_dir="$(mktemp -d -t ff-XXXXX)"
+export HOME="$home_dir"
📝 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
export HOME="$(mktemp -d -t ff-XXXXX)"
home_dir="$(mktemp -d -t ff-XXXXX)"
export HOME="$home_dir"
🧰 Tools
🪛 Shellcheck (0.11.0)

[warning] 5-5: Declare and assign separately to avoid masking return values.

(SC2155)

🤖 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
`@ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh`
at line 5, Update the HOME initialization around the mktemp command so its
failure status is preserved: first assign the mktemp result to a temporary
variable, then export HOME from that variable. Keep the existing mktemp template
and ensure failures stop before any subsequent directory change.

Source: Linters/SAST tools

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@2uasimojo

Copy link
Copy Markdown
Member Author

/test config

/pj-rehearse periodic-ci-openshift-openshift-mcp-server-main-fast-forward-latest-release

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@2uasimojo

Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-openshift-mcp-server-main-fast-forward-latest-release

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

Co-Authored-By: claude
@2uasimojo

Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-openshift-mcp-server-main-fast-forward-latest-release

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@2uasimojo: 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-openshift-mcp-server-main-fast-forward-latest-release N/A periodic Periodic changed
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.

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@2uasimojo: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/periodic-ci-openshift-openshift-mcp-server-main-fast-forward-latest-release 05824d6 link unknown /pj-rehearse periodic-ci-openshift-openshift-mcp-server-main-fast-forward-latest-release

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.

@2uasimojo

Copy link
Copy Markdown
Member Author

/pj-rehearse skip

Failed to load the cred. I think this is the expected result for rehearsals. And I think we're just supposed to merge and iterate now.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant