diff --git a/ci-operator/jobs/openshift/release/openshift-release-main-periodics.yaml b/ci-operator/jobs/openshift/release/openshift-release-main-periodics.yaml index 95fd18e119494..a8158e0c4cca9 100644 --- a/ci-operator/jobs/openshift/release/openshift-release-main-periodics.yaml +++ b/ci-operator/jobs/openshift/release/openshift-release-main-periodics.yaml @@ -72800,6 +72800,169 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator +- agent: kubernetes + cluster: build09 + cron: '@yearly' + decorate: true + decoration_config: + timeout: 12h0m0s + name: periodic-ci-openshift-release-main-claude-payload-agent-okd-scos + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --give-pr-author-access-to-namespace=true + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --input-hash=$(BUILD_ID) + - --input-hash=$(JOB_NAME) + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --secret-dir=/usr/local/pull-secret + - --target=claude-payload-agent + command: + - ci-operator + env: + - name: PAYLOAD_TAG + - name: UNRESOLVED_CONFIG + value: | + resources: + '*': + requests: + cpu: 100m + memory: 200Mi + tests: + - as: claude-payload-agent + steps: + env: + PAYLOAD_TAG: "$(PAYLOAD_TAG)" + RELEASE_CONTROLLER_URL: "https://amd64.origin.releases.ci.openshift.org" + workflow: openshift-claude-payload + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: claude-payload-agent + 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: /usr/local/pull-secret + name: release-pull-secret + - 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: release-pull-secret + secret: + secretName: ci-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator +- agent: kubernetes + cluster: build09 + cron: '@yearly' + decorate: true + decoration_config: + timeout: 12h0m0s + name: periodic-ci-openshift-release-main-claude-payload-agent-okd-scos-no-slack + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --give-pr-author-access-to-namespace=true + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --input-hash=$(BUILD_ID) + - --input-hash=$(JOB_NAME) + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --secret-dir=/usr/local/pull-secret + - --target=claude-payload-agent + command: + - ci-operator + env: + - name: PAYLOAD_TAG + - name: UNRESOLVED_CONFIG + value: | + resources: + '*': + requests: + cpu: 100m + memory: 200Mi + tests: + - as: claude-payload-agent + steps: + env: + PAYLOAD_TAG: "$(PAYLOAD_TAG)" + RELEASE_CONTROLLER_URL: "https://amd64.origin.releases.ci.openshift.org" + ENABLE_SLACK_NOTIFICATIONS: "false" + workflow: openshift-claude-payload + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: claude-payload-agent + 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: /usr/local/pull-secret + name: release-pull-secret + - 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: release-pull-secret + secret: + secretName: ci-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator - agent: kubernetes cluster: app.ci decorate: true diff --git a/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-commands.sh b/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-commands.sh index 36c9de73372da..dbe894aefa1f8 100644 --- a/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-commands.sh +++ b/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-commands.sh @@ -99,12 +99,14 @@ export PATH="/tmp/google-cloud-sdk/bin:${PATH}" echo "gcloud CLI installed." # Parse version and stream from payload tag -# Format: 4.22.0-0.nightly-2026-02-25-152806 +# OCP format: 4.22.0-0.nightly-2026-02-25-152806 +# OKD format: 4.22.0-0.okd-scos-nightly-2026-06-10-015300 +# OKD CI fmt: 4.22.0-0.okd-scos-2026-06-10-003203 VERSION=$(echo "${PAYLOAD_TAG}" | grep -oP '^\d+\.\d+') -STREAM=$(echo "${PAYLOAD_TAG}" | grep -oP '\d+\.\d+\.\d+-\d+\.\K[a-z]+') +STREAM_NAME=$(echo "${PAYLOAD_TAG}" | sed 's/-[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}$//') +STREAM=$(echo "${STREAM_NAME}" | sed 's/^[0-9]*\.[0-9]*\.[0-9]*-[0-9]*\.//') -RELEASE_CONTROLLER_URL="https://amd64.ocp.releases.ci.openshift.org" -STREAM_NAME="${VERSION}.0-0.${STREAM}" +RELEASE_CONTROLLER_URL="${RELEASE_CONTROLLER_URL:-https://amd64.ocp.releases.ci.openshift.org}" API_URL="${RELEASE_CONTROLLER_URL}/api/v1/releasestream/${STREAM_NAME}/release/${PAYLOAD_TAG}" PAYLOAD_URL="${RELEASE_CONTROLLER_URL}/releasestream/${STREAM_NAME}/release/${PAYLOAD_TAG}" diff --git a/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-ref.yaml b/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-ref.yaml index 0c867762f6a64..eac38388576b1 100644 --- a/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-ref.yaml +++ b/ci-operator/step-registry/openshift/claude/payload/agent/openshift-claude-payload-agent-ref.yaml @@ -33,6 +33,11 @@ ref: default: "/var/run/slack-webhook/url" - name: GITHUB_TOKEN_PATH default: "/var/run/github-token/token" + - name: RELEASE_CONTROLLER_URL + default: "https://amd64.ocp.releases.ci.openshift.org" + documentation: |- + Base URL of the release controller. Override for OKD with + https://amd64.origin.releases.ci.openshift.org. - name: ENABLE_SLACK_NOTIFICATIONS default: "true" resources: diff --git a/core-services/release-controller/_releases/release-okd-scos-4.22-art.json b/core-services/release-controller/_releases/release-okd-scos-4.22-art.json index 9e70a0dee414d..d05a8909f3a4b 100644 --- a/core-services/release-controller/_releases/release-okd-scos-4.22-art.json +++ b/core-services/release-controller/_releases/release-okd-scos-4.22-art.json @@ -47,6 +47,14 @@ "prowJob": { "name": "periodic-ci-openshift-release-main-okd-scos-4.22-e2e-aws-ovn-techpreview" } + }, + "claude-payload-agent": { + "async": true, + "multiJobAnalysis": true, + "optional": true, + "prowJob": { + "name": "periodic-ci-openshift-release-main-claude-payload-agent-okd-scos-no-slack" + } }, "agent-single-node-ipv6": { "optional": true, diff --git a/core-services/release-controller/_releases/release-okd-scos-4.22-ci.json b/core-services/release-controller/_releases/release-okd-scos-4.22-ci.json index 276e754f5786a..87d7babecd6d4 100644 --- a/core-services/release-controller/_releases/release-okd-scos-4.22-ci.json +++ b/core-services/release-controller/_releases/release-okd-scos-4.22-ci.json @@ -40,6 +40,14 @@ "version": "4.21" } } + }, + "claude-payload-agent": { + "async": true, + "multiJobAnalysis": true, + "optional": true, + "prowJob": { + "name": "periodic-ci-openshift-release-main-claude-payload-agent-okd-scos-no-slack" + } } } } diff --git a/core-services/release-controller/_releases/release-okd-scos-5.0-art.json b/core-services/release-controller/_releases/release-okd-scos-5.0-art.json index b1a306153d9f2..1d33bb22b5046 100644 --- a/core-services/release-controller/_releases/release-okd-scos-5.0-art.json +++ b/core-services/release-controller/_releases/release-okd-scos-5.0-art.json @@ -47,6 +47,14 @@ "prowJob": { "name": "periodic-ci-openshift-release-main-okd-scos-5.0-e2e-aws-ovn-techpreview" } + }, + "claude-payload-agent": { + "async": true, + "multiJobAnalysis": true, + "optional": true, + "prowJob": { + "name": "periodic-ci-openshift-release-main-claude-payload-agent-okd-scos-no-slack" + } }, "agent-single-node-ipv6": { "optional": true,