From 050c2adb56afba0c4007f161663fdf3d47cb2280 Mon Sep 17 00:00:00 2001 From: Eric Fried Date: Fri, 7 Aug 2026 17:11:48 -0500 Subject: [PATCH] openshift-mcp-server: Auto-ff daily Co-Authored-By: claude --- .../openshift-openshift-mcp-server-main.yaml | 6 ++ ...t-openshift-mcp-server-main-periodics.yaml | 77 +++++++++++++++++++ .../openshift/mcp-server/fastforward/OWNERS | 16 ++++ ...enshift-mcp-server-fastforward-commands.sh | 58 ++++++++++++++ ...t-mcp-server-fastforward-ref.metadata.json | 17 ++++ .../openshift-mcp-server-fastforward-ref.yaml | 28 +++++++ ...-server-fastforward-workflow.metadata.json | 17 ++++ ...shift-mcp-server-fastforward-workflow.yaml | 8 ++ 8 files changed, 227 insertions(+) create mode 100644 ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml create mode 100644 ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS create mode 100755 ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh create mode 100644 ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json create mode 100644 ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml create mode 100644 ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json create mode 100644 ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml diff --git a/ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml b/ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml index 300a9694694e7..8f69d9de83fbe 100644 --- a/ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml +++ b/ci-operator/config/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main.yaml @@ -66,6 +66,12 @@ tests: test: - chain: openshift-mcp-server-mcpchecker-eval-vertex workflow: ipi-aws +- as: fast-forward-release-0-4 + cron: 0 6 * * * + steps: + env: + DESTINATION_BRANCH: release-0.4 + workflow: openshift-mcp-server-fastforward zz_generated_metadata: branch: main org: openshift diff --git a/ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml b/ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml new file mode 100644 index 0000000000000..ed4083a6e0454 --- /dev/null +++ b/ci-operator/jobs/openshift/openshift-mcp-server/openshift-openshift-mcp-server-main-periodics.yaml @@ -0,0 +1,77 @@ +periodics: +- agent: kubernetes + cluster: build01 + cron: 0 6 * * * + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.ci + extra_refs: + - base_ref: main + org: openshift + repo: openshift-mcp-server + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.ci + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-openshift-mcp-server-main-fast-forward-release-0-4 + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --target=fast-forward-release-0-4 + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator diff --git a/ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS b/ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS new file mode 100644 index 0000000000000..b3bcab35c9828 --- /dev/null +++ b/ci-operator/step-registry/openshift/mcp-server/fastforward/OWNERS @@ -0,0 +1,16 @@ +reviewers: + - 2uasimojo + - bentito + - cajieh + - Cali0707 + - dlom + - grokspawn + - manusa + - matzew + - Kaustubh-pande +approvers: + - Cali0707 + - manusa + - matzew + - Kaustubh-pande +component: "openshift-mcp-server" diff --git a/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh new file mode 100755 index 0000000000000..fa3035a35b6cd --- /dev/null +++ b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-commands.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +set -euo pipefail + +tmp_dir=$(mktemp -d -t ff-XXXXX) +cd "$tmp_dir" || exit 1 +export HOME="$tmp_dir" + +log_file="${ARTIFACT_DIR}/fastforward.log" +log() { + local ts + ts=$(date --iso-8601=seconds) + echo "$ts" "$@" | tee -a "$log_file" +} + +log "INFO Fast-forward settings" +log " REPO_OWNER = $REPO_OWNER" +log " REPO_NAME = $REPO_NAME" +log " SOURCE_BRANCH = $SOURCE_BRANCH" +log " DESTINATION_BRANCH = $DESTINATION_BRANCH" + +if [[ -z "$DESTINATION_BRANCH" ]]; then + log "ERROR DESTINATION_BRANCH may not be empty" + exit 1 +fi + +token=$(cat /etc/github/oauth) +repo_url="https://openshift-merge-robot:${token}@github.com/${REPO_OWNER}/${REPO_NAME}.git" + +log "INFO Cloning $DESTINATION_BRANCH" +if ! git clone -b "$DESTINATION_BRANCH" "$repo_url" 2>&1 | tee -a "$log_file"; then + log "INFO $DESTINATION_BRANCH does not exist, creating from $SOURCE_BRANCH" + if ! git clone -b "$SOURCE_BRANCH" "$repo_url" 2>&1 | tee -a "$log_file"; then + log "ERROR Could not clone $SOURCE_BRANCH" + exit 1 + fi + cd "$REPO_NAME" || exit 1 + git checkout -b "$DESTINATION_BRANCH" + git push -u origin "$DESTINATION_BRANCH" 2>&1 | tee -a "$log_file" + log "INFO Created and pushed $DESTINATION_BRANCH" + exit 0 +fi + +cd "$REPO_NAME" || exit 1 + +log "INFO Pulling $SOURCE_BRANCH into $DESTINATION_BRANCH (ff-only)" +if ! git pull --ff-only origin "$SOURCE_BRANCH" 2>&1 | tee -a "$log_file"; then + log "ERROR Could not fast-forward from $SOURCE_BRANCH" + exit 1 +fi + +log "INFO Pushing to origin/$DESTINATION_BRANCH" +if ! git push 2>&1 | tee -a "$log_file"; then + log "ERROR Could not push to $DESTINATION_BRANCH" + exit 1 +fi + +log "INFO Fast-forward complete" diff --git a/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json new file mode 100644 index 0000000000000..cb7e926f7271c --- /dev/null +++ b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.metadata.json @@ -0,0 +1,17 @@ +{ + "path": "openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml", + "owners": { + "approvers": [ + "Cali0707", + "manusa", + "matzew", + "Kaustubh-pande" + ], + "reviewers": [ + "Cali0707", + "manusa", + "matzew", + "Kaustubh-pande" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml new file mode 100644 index 0000000000000..cb25f53ae95c7 --- /dev/null +++ b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-ref.yaml @@ -0,0 +1,28 @@ +ref: + as: openshift-mcp-server-fastforward + from_image: + name: cli + namespace: ocp + tag: latest + commands: openshift-mcp-server-fastforward-commands.sh + resources: + requests: + cpu: 100m + memory: 100Mi + credentials: + - namespace: ci + name: github-credentials-openshift-merge-robot + mount_path: /etc/github + env: + - name: SOURCE_BRANCH + default: "main" + documentation: |- + The branch to fast-forward FROM. + - name: DESTINATION_BRANCH + default: "" + documentation: |- + The branch to fast-forward TO. Required. + documentation: |- + Fast-forwards a source branch to a destination branch in the + openshift/openshift-mcp-server GitHub repo using openshift-merge-robot + credentials. diff --git a/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json new file mode 100644 index 0000000000000..378c9224f4980 --- /dev/null +++ b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.metadata.json @@ -0,0 +1,17 @@ +{ + "path": "openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml", + "owners": { + "approvers": [ + "Cali0707", + "manusa", + "matzew", + "Kaustubh-pande" + ], + "reviewers": [ + "Cali0707", + "manusa", + "matzew", + "Kaustubh-pande" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml new file mode 100644 index 0000000000000..2610c7373dd61 --- /dev/null +++ b/ci-operator/step-registry/openshift/mcp-server/fastforward/openshift-mcp-server-fastforward-workflow.yaml @@ -0,0 +1,8 @@ +workflow: + as: openshift-mcp-server-fastforward + steps: + test: + - ref: openshift-mcp-server-fastforward + documentation: |- + Fast-forwards a source branch to a destination branch in the + openshift/openshift-mcp-server GitHub repo.