diff --git a/ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml b/ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml index 25eb9e7b5152a..97425613231ff 100644 --- a/ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml +++ b/ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml @@ -3,6 +3,10 @@ base_images: name: "4.22" namespace: ocp tag: base-rhel9 + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest cli-operator-sdk: name: cli-operator-sdk namespace: ocp @@ -564,6 +568,22 @@ tests: memory: 250Mi - ref: tls-scanner-run workflow: optional-operators-ci-operator-sdk-aws +- as: periodic-jira-agent + cron: 0 9 * * * + steps: + env: + JIRA_AGENT_MAX_ISSUES: "1" + workflow: cert-manager-jira-agent +- as: periodic-review-agent + cron: '@yearly' + steps: + workflow: cert-manager-review-agent +- always_run: false + as: address-review-comments + optional: true + skip_if_only_changed: .* + steps: + workflow: cert-manager-review-agent-trigger zz_generated_metadata: branch: master org: openshift diff --git a/ci-operator/config/openshift/must-gather-operator/openshift-must-gather-operator-master.yaml b/ci-operator/config/openshift/must-gather-operator/openshift-must-gather-operator-master.yaml index 500e3c891a971..24c748ac32fc0 100644 --- a/ci-operator/config/openshift/must-gather-operator/openshift-must-gather-operator-master.yaml +++ b/ci-operator/config/openshift/must-gather-operator/openshift-must-gather-operator-master.yaml @@ -3,6 +3,10 @@ base_images: name: "5.1" namespace: ocp tag: base-rhel9 + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest cli-operator-sdk: name: cli-operator-sdk namespace: ocp @@ -374,6 +378,22 @@ tests: steps: test: - ref: oape-review-handler +- as: periodic-jira-agent + cron: 0 9 * * * + steps: + env: + JIRA_AGENT_MAX_ISSUES: "1" + workflow: must-gather-jira-agent +- as: periodic-review-agent + cron: '@yearly' + steps: + workflow: must-gather-review-agent +- always_run: false + as: address-review-comments + optional: true + skip_if_only_changed: .* + steps: + workflow: must-gather-review-agent-trigger zz_generated_metadata: branch: master org: openshift diff --git a/ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-periodics.yaml b/ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-periodics.yaml new file mode 100644 index 0000000000000..d633df3d7697a --- /dev/null +++ b/ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-periodics.yaml @@ -0,0 +1,185 @@ +periodics: +- agent: kubernetes + cluster: build01 + cron: 0 9 * * * + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - images/ci/Dockerfile + - images/ci/Dockerfile.coverage + - images/ci/certmanager.Dockerfile + - images/ci/istiocsr.Dockerfile + - images/ci/trustmanager.Dockerfile + extra_refs: + - base_ref: master + org: openshift + repo: cert-manager-operator + sparse_checkout_files: + - .ci-operator.yaml + - images/ci/Dockerfile + - images/ci/Dockerfile.coverage + - images/ci/certmanager.Dockerfile + - images/ci/istiocsr.Dockerfile + - images/ci/trustmanager.Dockerfile + labels: + ci.openshift.io/generator: prowgen + job-release: "4.22" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-cert-manager-operator-master-periodic-jira-agent + 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 + - --secret-dir=/secrets/ci-pull-credentials + - --target=periodic-jira-agent + 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/ci-pull-credentials + name: ci-pull-credentials + 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: ci-pull-credentials + secret: + secretName: ci-pull-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 +- agent: kubernetes + cluster: build01 + cron: '@yearly' + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - images/ci/Dockerfile + - images/ci/Dockerfile.coverage + - images/ci/certmanager.Dockerfile + - images/ci/istiocsr.Dockerfile + - images/ci/trustmanager.Dockerfile + extra_refs: + - base_ref: master + org: openshift + repo: cert-manager-operator + sparse_checkout_files: + - .ci-operator.yaml + - images/ci/Dockerfile + - images/ci/Dockerfile.coverage + - images/ci/certmanager.Dockerfile + - images/ci/istiocsr.Dockerfile + - images/ci/trustmanager.Dockerfile + labels: + ci.openshift.io/generator: prowgen + job-release: "4.22" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-cert-manager-operator-master-periodic-review-agent + 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 + - --secret-dir=/secrets/ci-pull-credentials + - --target=periodic-review-agent + 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/ci-pull-credentials + name: ci-pull-credentials + 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: ci-pull-credentials + secret: + secretName: ci-pull-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/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-presubmits.yaml b/ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-presubmits.yaml index 7e23744302146..6fc189ab3e6eb 100644 --- a/ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-presubmits.yaml +++ b/ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-presubmits.yaml @@ -1,5 +1,94 @@ presubmits: openshift/cert-manager-operator: + - agent: kubernetes + always_run: false + branches: + - ^master$ + - ^master- + cluster: build08 + context: ci/prow/address-review-comments + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - images/ci/Dockerfile + - images/ci/Dockerfile.coverage + - images/ci/certmanager.Dockerfile + - images/ci/istiocsr.Dockerfile + - images/ci/trustmanager.Dockerfile + labels: + ci.openshift.io/generator: prowgen + job-release: "4.22" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-cert-manager-operator-master-address-review-comments + optional: true + rerun_command: /test address-review-comments + skip_if_only_changed: .* + 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 + - --secret-dir=/secrets/ci-pull-credentials + - --target=address-review-comments + 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/ci-pull-credentials + name: ci-pull-credentials + 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: ci-pull-credentials + secret: + secretName: ci-pull-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 + trigger: (?m)^/test( | .* )address-review-comments,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-periodics.yaml b/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-periodics.yaml index 0612932378e20..6fe13b78c9ee0 100644 --- a/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-periodics.yaml +++ b/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-periodics.yaml @@ -174,3 +174,173 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator +- agent: kubernetes + cluster: build09 + cron: 0 9 * * * + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.openshift + - images/ci/Dockerfile.coverage + extra_refs: + - base_ref: master + org: openshift + repo: must-gather-operator + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.openshift + - images/ci/Dockerfile.coverage + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-must-gather-operator-master-periodic-jira-agent + 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 + - --secret-dir=/secrets/ci-pull-credentials + - --target=periodic-jira-agent + 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/ci-pull-credentials + name: ci-pull-credentials + 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: ci-pull-credentials + secret: + secretName: ci-pull-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 +- agent: kubernetes + cluster: build09 + cron: '@yearly' + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.openshift + - images/ci/Dockerfile.coverage + extra_refs: + - base_ref: master + org: openshift + repo: must-gather-operator + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.openshift + - images/ci/Dockerfile.coverage + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-must-gather-operator-master-periodic-review-agent + 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 + - --secret-dir=/secrets/ci-pull-credentials + - --target=periodic-review-agent + 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/ci-pull-credentials + name: ci-pull-credentials + 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: ci-pull-credentials + secret: + secretName: ci-pull-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/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-presubmits.yaml b/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-presubmits.yaml index 4a793a2eeac44..4b9fab1d2924b 100644 --- a/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-presubmits.yaml +++ b/ci-operator/jobs/openshift/must-gather-operator/openshift-must-gather-operator-master-presubmits.yaml @@ -1,5 +1,90 @@ presubmits: openshift/must-gather-operator: + - agent: kubernetes + always_run: false + branches: + - ^master$ + - ^master- + cluster: build04 + context: ci/prow/address-review-comments + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.openshift + - images/ci/Dockerfile.coverage + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-must-gather-operator-master-address-review-comments + optional: true + rerun_command: /test address-review-comments + skip_if_only_changed: .* + 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 + - --secret-dir=/secrets/ci-pull-credentials + - --target=address-review-comments + 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/ci-pull-credentials + name: ci-pull-credentials + 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: ci-pull-credentials + secret: + secretName: ci-pull-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 + trigger: (?m)^/test( | .* )address-review-comments,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/step-registry/cert-manager/jira-agent/OWNERS b/ci-operator/step-registry/cert-manager/jira-agent/OWNERS new file mode 100644 index 0000000000000..7b10519d98d72 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/jira-agent/OWNERS @@ -0,0 +1,10 @@ +approvers: +- bharath-b-rh +- mytreya-rh +- swghosh +- TrilokGeer +reviewers: +- bharath-b-rh +- mytreya-rh +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/cert-manager/jira-agent/cert-manager-jira-agent-workflow.metadata.json b/ci-operator/step-registry/cert-manager/jira-agent/cert-manager-jira-agent-workflow.metadata.json new file mode 100644 index 0000000000000..467a28a065106 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/jira-agent/cert-manager-jira-agent-workflow.metadata.json @@ -0,0 +1,17 @@ +{ + "path": "cert-manager/jira-agent/cert-manager-jira-agent-workflow.yaml", + "owners": { + "approvers": [ + "bharath-b-rh", + "mytreya-rh", + "swghosh", + "TrilokGeer" + ], + "reviewers": [ + "bharath-b-rh", + "mytreya-rh", + "swghosh", + "TrilokGeer" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/cert-manager/jira-agent/cert-manager-jira-agent-workflow.yaml b/ci-operator/step-registry/cert-manager/jira-agent/cert-manager-jira-agent-workflow.yaml new file mode 100644 index 0000000000000..0a396d7bfded3 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/jira-agent/cert-manager-jira-agent-workflow.yaml @@ -0,0 +1,30 @@ +workflow: + as: cert-manager-jira-agent + steps: + pre: + - ref: jira-agent-setup + - ref: jira-agent-github-app-auth + - ref: jira-agent-slack-pr-notify + - ref: jira-agent-claude-helpers + - ref: jira-agent-jira-helpers + - ref: jira-agent-git-helpers + test: + - ref: jira-agent-process + post: + - ref: jira-agent-report + env: + JIRA_AGENT_DEFAULT_BRANCH: "master" + JIRA_AGENT_AUTH_MODE: "pat" + JIRA_AGENT_FORK_ORG: "jira-solve-bot" + JIRA_AGENT_UPSTREAM_REPO: "openshift/cert-manager-operator" + JIRA_AGENT_JQL: '(project = CM OR (project = OCPBUGS AND component = "cert-manager")) AND resolution = Unresolved AND status in (New, "To Do") AND labels = issue-for-agent AND labels != agent-processed' + JIRA_AGENT_TARGET_STATUS: '{"OCPBUGS":"ASSIGNED","CM":"ASSIGNED"}' + JIRA_AGENT_TOOL_SETUP_SCRIPT: "GOFLAGS='' go install golang.org/x/tools/gopls@v0.21.0" + JIRA_AGENT_REVIEW_LANGUAGE: "go" + JIRA_AGENT_SLACK_EMOJI: ":llama:" + documentation: |- + Cert-manager operator-specific wrapper for the generic Jira Agent workflow. + Uses PAT auth mode — auto-forks openshift/cert-manager-operator + into jira-solve-bot and creates PRs against the upstream repo. + + Credentials: Uses hypershift-team-claude-prow (shared secret with gh-pat). diff --git a/ci-operator/step-registry/cert-manager/review-agent/OWNERS b/ci-operator/step-registry/cert-manager/review-agent/OWNERS new file mode 100644 index 0000000000000..7b10519d98d72 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/review-agent/OWNERS @@ -0,0 +1,10 @@ +approvers: +- bharath-b-rh +- mytreya-rh +- swghosh +- TrilokGeer +reviewers: +- bharath-b-rh +- mytreya-rh +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/cert-manager/review-agent/cert-manager-review-agent-workflow.metadata.json b/ci-operator/step-registry/cert-manager/review-agent/cert-manager-review-agent-workflow.metadata.json new file mode 100644 index 0000000000000..60e94d0e922fd --- /dev/null +++ b/ci-operator/step-registry/cert-manager/review-agent/cert-manager-review-agent-workflow.metadata.json @@ -0,0 +1,17 @@ +{ + "path": "cert-manager/review-agent/cert-manager-review-agent-workflow.yaml", + "owners": { + "approvers": [ + "bharath-b-rh", + "mytreya-rh", + "swghosh", + "TrilokGeer" + ], + "reviewers": [ + "bharath-b-rh", + "mytreya-rh", + "swghosh", + "TrilokGeer" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/cert-manager/review-agent/cert-manager-review-agent-workflow.yaml b/ci-operator/step-registry/cert-manager/review-agent/cert-manager-review-agent-workflow.yaml new file mode 100644 index 0000000000000..b01fb000fb378 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/review-agent/cert-manager-review-agent-workflow.yaml @@ -0,0 +1,19 @@ +workflow: + as: cert-manager-review-agent + steps: + pre: + - ref: review-agent-setup + test: + - ref: review-agent-process + post: + - ref: review-agent-report + env: + REVIEW_AGENT_AUTH_MODE: "pat" + REVIEW_AGENT_FORK_ORG: "jira-solve-bot" + REVIEW_AGENT_UPSTREAM_REPO: "openshift/cert-manager-operator" + documentation: |- + Cert-manager operator-specific wrapper for the generic review-agent workflow. + Uses PAT auth mode — auto-forks openshift/cert-manager-operator + into jira-solve-bot for push operations. + + Credentials: Uses hypershift-team-claude-prow (shared secret with gh-pat). diff --git a/ci-operator/step-registry/cert-manager/review-agent/trigger/OWNERS b/ci-operator/step-registry/cert-manager/review-agent/trigger/OWNERS new file mode 100644 index 0000000000000..7b10519d98d72 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/review-agent/trigger/OWNERS @@ -0,0 +1,10 @@ +approvers: +- bharath-b-rh +- mytreya-rh +- swghosh +- TrilokGeer +reviewers: +- bharath-b-rh +- mytreya-rh +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.metadata.json b/ci-operator/step-registry/cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.metadata.json new file mode 100644 index 0000000000000..bead6e2598c2d --- /dev/null +++ b/ci-operator/step-registry/cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.metadata.json @@ -0,0 +1,17 @@ +{ + "path": "cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.yaml", + "owners": { + "approvers": [ + "bharath-b-rh", + "mytreya-rh", + "swghosh", + "TrilokGeer" + ], + "reviewers": [ + "bharath-b-rh", + "mytreya-rh", + "swghosh", + "TrilokGeer" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.yaml b/ci-operator/step-registry/cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.yaml new file mode 100644 index 0000000000000..b4dc9b41d4696 --- /dev/null +++ b/ci-operator/step-registry/cert-manager/review-agent/trigger/cert-manager-review-agent-trigger-workflow.yaml @@ -0,0 +1,12 @@ +workflow: + as: cert-manager-review-agent-trigger + steps: + test: + - ref: review-agent-trigger + env: + PERIODIC_JOB_NAME: "periodic-ci-openshift-cert-manager-operator-master-periodic-review-agent" + REVIEW_AGENT_UPSTREAM_REPO: "openshift/cert-manager-operator" + documentation: |- + Trigger a periodic review-agent run via Gangway API. + Used by the address-review-comments presubmit job to re-run review-agent + on demand when a pull request receives review comments that should be addressed. diff --git a/ci-operator/step-registry/must-gather/OWNERS b/ci-operator/step-registry/must-gather/OWNERS new file mode 100644 index 0000000000000..9e292c413fb8b --- /dev/null +++ b/ci-operator/step-registry/must-gather/OWNERS @@ -0,0 +1,12 @@ +approvers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer +reviewers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/must-gather/jira-agent/OWNERS b/ci-operator/step-registry/must-gather/jira-agent/OWNERS new file mode 100644 index 0000000000000..9e292c413fb8b --- /dev/null +++ b/ci-operator/step-registry/must-gather/jira-agent/OWNERS @@ -0,0 +1,12 @@ +approvers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer +reviewers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/must-gather/jira-agent/must-gather-jira-agent-workflow.metadata.json b/ci-operator/step-registry/must-gather/jira-agent/must-gather-jira-agent-workflow.metadata.json new file mode 100644 index 0000000000000..fc690aac7f0ba --- /dev/null +++ b/ci-operator/step-registry/must-gather/jira-agent/must-gather-jira-agent-workflow.metadata.json @@ -0,0 +1,19 @@ +{ + "path": "must-gather/jira-agent/must-gather-jira-agent-workflow.yaml", + "owners": { + "approvers": [ + "devppratik", + "dustman9000", + "shivprakashmuley", + "swghosh", + "TrilokGeer" + ], + "reviewers": [ + "devppratik", + "dustman9000", + "shivprakashmuley", + "swghosh", + "TrilokGeer" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/must-gather/jira-agent/must-gather-jira-agent-workflow.yaml b/ci-operator/step-registry/must-gather/jira-agent/must-gather-jira-agent-workflow.yaml new file mode 100644 index 0000000000000..ef3906f072a61 --- /dev/null +++ b/ci-operator/step-registry/must-gather/jira-agent/must-gather-jira-agent-workflow.yaml @@ -0,0 +1,30 @@ +workflow: + as: must-gather-jira-agent + steps: + pre: + - ref: jira-agent-setup + - ref: jira-agent-github-app-auth + - ref: jira-agent-slack-pr-notify + - ref: jira-agent-claude-helpers + - ref: jira-agent-jira-helpers + - ref: jira-agent-git-helpers + test: + - ref: jira-agent-process + post: + - ref: jira-agent-report + env: + JIRA_AGENT_DEFAULT_BRANCH: "master" + JIRA_AGENT_AUTH_MODE: "pat" + JIRA_AGENT_FORK_ORG: "jira-solve-bot" + JIRA_AGENT_UPSTREAM_REPO: "openshift/must-gather-operator" + JIRA_AGENT_JQL: '(project = MG OR (project = OCPBUGS AND component = "must-gather")) AND resolution = Unresolved AND status in (New, "To Do") AND labels = issue-for-agent AND labels != agent-processed' + JIRA_AGENT_TARGET_STATUS: '{"OCPBUGS":"ASSIGNED","MG":"ASSIGNED"}' + JIRA_AGENT_TOOL_SETUP_SCRIPT: "GOFLAGS='' go install golang.org/x/tools/gopls@v0.21.0" + JIRA_AGENT_REVIEW_LANGUAGE: "go" + JIRA_AGENT_SLACK_EMOJI: ":llama:" + documentation: |- + Must-gather operator-specific wrapper for the generic Jira Agent workflow. + Uses PAT auth mode — auto-forks openshift/must-gather-operator + into jira-solve-bot and creates PRs against the upstream repo. + + Credentials: Uses hypershift-team-claude-prow (shared secret with gh-pat). diff --git a/ci-operator/step-registry/must-gather/review-agent/OWNERS b/ci-operator/step-registry/must-gather/review-agent/OWNERS new file mode 100644 index 0000000000000..9e292c413fb8b --- /dev/null +++ b/ci-operator/step-registry/must-gather/review-agent/OWNERS @@ -0,0 +1,12 @@ +approvers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer +reviewers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/must-gather/review-agent/must-gather-review-agent-workflow.metadata.json b/ci-operator/step-registry/must-gather/review-agent/must-gather-review-agent-workflow.metadata.json new file mode 100644 index 0000000000000..92677b0ba13e0 --- /dev/null +++ b/ci-operator/step-registry/must-gather/review-agent/must-gather-review-agent-workflow.metadata.json @@ -0,0 +1,19 @@ +{ + "path": "must-gather/review-agent/must-gather-review-agent-workflow.yaml", + "owners": { + "approvers": [ + "devppratik", + "dustman9000", + "shivprakashmuley", + "swghosh", + "TrilokGeer" + ], + "reviewers": [ + "devppratik", + "dustman9000", + "shivprakashmuley", + "swghosh", + "TrilokGeer" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/must-gather/review-agent/must-gather-review-agent-workflow.yaml b/ci-operator/step-registry/must-gather/review-agent/must-gather-review-agent-workflow.yaml new file mode 100644 index 0000000000000..2602c09b7f12f --- /dev/null +++ b/ci-operator/step-registry/must-gather/review-agent/must-gather-review-agent-workflow.yaml @@ -0,0 +1,19 @@ +workflow: + as: must-gather-review-agent + steps: + pre: + - ref: review-agent-setup + test: + - ref: review-agent-process + post: + - ref: review-agent-report + env: + REVIEW_AGENT_AUTH_MODE: "pat" + REVIEW_AGENT_FORK_ORG: "jira-solve-bot" + REVIEW_AGENT_UPSTREAM_REPO: "openshift/must-gather-operator" + documentation: |- + Must-gather operator-specific wrapper for the generic review-agent workflow. + Uses PAT auth mode — auto-forks openshift/must-gather-operator + into jira-solve-bot for push operations. + + Credentials: Uses hypershift-team-claude-prow (shared secret with gh-pat). diff --git a/ci-operator/step-registry/must-gather/review-agent/trigger/OWNERS b/ci-operator/step-registry/must-gather/review-agent/trigger/OWNERS new file mode 100644 index 0000000000000..9e292c413fb8b --- /dev/null +++ b/ci-operator/step-registry/must-gather/review-agent/trigger/OWNERS @@ -0,0 +1,12 @@ +approvers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer +reviewers: +- devppratik +- dustman9000 +- shivprakashmuley +- swghosh +- TrilokGeer diff --git a/ci-operator/step-registry/must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.metadata.json b/ci-operator/step-registry/must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.metadata.json new file mode 100644 index 0000000000000..856d912007281 --- /dev/null +++ b/ci-operator/step-registry/must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.metadata.json @@ -0,0 +1,19 @@ +{ + "path": "must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.yaml", + "owners": { + "approvers": [ + "devppratik", + "dustman9000", + "shivprakashmuley", + "swghosh", + "TrilokGeer" + ], + "reviewers": [ + "devppratik", + "dustman9000", + "shivprakashmuley", + "swghosh", + "TrilokGeer" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.yaml b/ci-operator/step-registry/must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.yaml new file mode 100644 index 0000000000000..c52f6990d3b1b --- /dev/null +++ b/ci-operator/step-registry/must-gather/review-agent/trigger/must-gather-review-agent-trigger-workflow.yaml @@ -0,0 +1,12 @@ +workflow: + as: must-gather-review-agent-trigger + steps: + test: + - ref: review-agent-trigger + env: + PERIODIC_JOB_NAME: "periodic-ci-openshift-must-gather-operator-master-periodic-review-agent" + REVIEW_AGENT_UPSTREAM_REPO: "openshift/must-gather-operator" + documentation: |- + Trigger a periodic review-agent run via Gangway API. + Used by the address-review-comments presubmit job to re-run review-agent + on demand when a pull request receives review comments that should be addressed.