Skip to content

OCPBUGS-95281: Synchronize From Upstream Repositories#762

Open
openshift-bot wants to merge 108 commits into
openshift:mainfrom
openshift-bot:synchronize-upstream
Open

OCPBUGS-95281: Synchronize From Upstream Repositories#762
openshift-bot wants to merge 108 commits into
openshift:mainfrom
openshift-bot:synchronize-upstream

Conversation

@openshift-bot

@openshift-bot openshift-bot commented Jul 2, 2026

Copy link
Copy Markdown

JIRA Tickets:

  • OCPBUGS-95281

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-07-03 13:02:33 operator-framework/operator-controller@395bb86 dependabot[bot] 🌱 Bump github.com/sigstore/fulcio from 1.8.5 to 1.8.6 (#2793)
2026-07-03 12:59:30 operator-framework/operator-controller@6655994 dependabot[bot] chore(deps): bump golang.org/x/net in /hack/tools/test-profiling (#2804)
2026-07-03 12:18:49 operator-framework/operator-controller@8013292 Predrag Knezevic feat: replace asciinema with godog-based demo recording (#2801)
2026-07-02 19:38:22 operator-framework/operator-controller@6a28728 dependabot[bot] 🌱 Bump github.com/google/go-containerregistry (#2800)
2026-07-02 07:57:51 operator-framework/operator-controller@d0252d4 Todd Short fix: align OTel versions to v1.44.0 and use explicit e2e timeout fallback (#2791)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-07-01 22:35:55 openshift/operator-framework-operator-controller@4ba6f06 dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-07-01 22:35:56 openshift/operator-framework-operator-controller@c737947 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-07-01 22:35:57 openshift/operator-framework-operator-controller@dd82738 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-07-01 22:35:57 openshift/operator-framework-operator-controller@bb0507c Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-07-01 22:35:58 openshift/operator-framework-operator-controller@305865e Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-07-01 22:35:59 openshift/operator-framework-operator-controller@d0b77a2 Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-07-01 22:35:59 openshift/operator-framework-operator-controller@52b0b88 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-07-01 22:36:00 openshift/operator-framework-operator-controller@4ad0db1 Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-07-01 22:36:00 openshift/operator-framework-operator-controller@2d93008 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-07-01 22:36:01 openshift/operator-framework-operator-controller@ed62151 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-07-01 22:36:01 openshift/operator-framework-operator-controller@90cd4b3 Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-07-01 22:36:02 openshift/operator-framework-operator-controller@bc95427 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-07-01 22:36:02 openshift/operator-framework-operator-controller@7f97547 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-07-01 22:36:03 openshift/operator-framework-operator-controller@06c2aad Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-07-01 22:36:04 openshift/operator-framework-operator-controller@28859ae Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-07-01 22:36:05 openshift/operator-framework-operator-controller@5e6a94b Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-07-01 22:36:06 openshift/operator-framework-operator-controller@51a5ab4 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-07-01 22:36:06 openshift/operator-framework-operator-controller@3f6a929 Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-07-01 22:36:07 openshift/operator-framework-operator-controller@7d57ea8 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-07-01 22:36:07 openshift/operator-framework-operator-controller@6089a96 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-07-01 22:36:08 openshift/operator-framework-operator-controller@5046f6c Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-07-01 22:36:08 openshift/operator-framework-operator-controller@a29c033 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-07-01 22:36:09 openshift/operator-framework-operator-controller@a858239 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-07-01 22:36:09 openshift/operator-framework-operator-controller@a056fd6 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-07-01 22:36:10 openshift/operator-framework-operator-controller@ee1a8f0 Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-07-01 22:36:10 openshift/operator-framework-operator-controller@52ff18b Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@b7a29b5 Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@b0df80d Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@0a05614 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-07-01 22:36:12 openshift/operator-framework-operator-controller@2b9b6d2 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-07-01 22:36:12 openshift/operator-framework-operator-controller@3b477d4 Bruno Andrade UPSTREAM: <carry>: update metadata
2026-07-01 22:36:13 openshift/operator-framework-operator-controller@59196fd Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-07-01 22:36:13 openshift/operator-framework-operator-controller@71a3975 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-07-01 22:36:14 openshift/operator-framework-operator-controller@e5d6cca Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-07-01 22:36:14 openshift/operator-framework-operator-controller@b7a0ba8 Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-07-01 22:36:15 openshift/operator-framework-operator-controller@75f250a Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-07-01 22:36:15 openshift/operator-framework-operator-controller@1aa0d22 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-07-01 22:36:16 openshift/operator-framework-operator-controller@9c9574f Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-07-01 22:36:16 openshift/operator-framework-operator-controller@225df4e Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-07-01 22:36:17 openshift/operator-framework-operator-controller@20885ed Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-07-01 22:36:17 openshift/operator-framework-operator-controller@387a0af Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-07-01 22:36:18 openshift/operator-framework-operator-controller@20eeed7 Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-07-01 22:36:18 openshift/operator-framework-operator-controller@91066d2 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-07-01 22:36:19 openshift/operator-framework-operator-controller@1b5c329 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-07-01 22:36:19 openshift/operator-framework-operator-controller@446fc40 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-07-01 22:36:20 openshift/operator-framework-operator-controller@75381ab Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-07-01 22:36:20 openshift/operator-framework-operator-controller@ae95262 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-07-01 22:36:21 openshift/operator-framework-operator-controller@4ca5ce1 Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-07-01 22:36:21 openshift/operator-framework-operator-controller@e9196b5 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@bb81744 Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@a7cec7e Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@32f6d5c Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-07-01 22:36:23 openshift/operator-framework-operator-controller@c42aef1 Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-07-01 22:36:24 openshift/operator-framework-operator-controller@1dc32c5 Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-07-01 22:36:24 openshift/operator-framework-operator-controller@14dafa4 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-07-01 22:36:25 openshift/operator-framework-operator-controller@23ff437 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-07-01 22:36:25 openshift/operator-framework-operator-controller@94f1d10 Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-07-01 22:36:26 openshift/operator-framework-operator-controller@8a10bea Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-07-01 22:36:26 openshift/operator-framework-operator-controller@ae2c77b Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-07-01 22:36:27 openshift/operator-framework-operator-controller@c709153 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-07-01 22:36:28 openshift/operator-framework-operator-controller@49f9f75 Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-07-01 22:36:28 openshift/operator-framework-operator-controller@2948ac8 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-07-01 22:36:29 openshift/operator-framework-operator-controller@ff10b45 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-07-01 22:36:29 openshift/operator-framework-operator-controller@2988a8b Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-07-01 22:36:30 openshift/operator-framework-operator-controller@72b6996 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-07-01 22:36:30 openshift/operator-framework-operator-controller@d67a40c Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-07-01 22:36:31 openshift/operator-framework-operator-controller@87bdcdb Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-07-01 22:36:31 openshift/operator-framework-operator-controller@55c7e65 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-07-01 22:36:32 openshift/operator-framework-operator-controller@b862416 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-07-01 22:36:32 openshift/operator-framework-operator-controller@01722a7 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-07-01 22:36:33 openshift/operator-framework-operator-controller@e30c4fe Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-07-01 22:36:33 openshift/operator-framework-operator-controller@485cf8c Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-07-01 22:36:34 openshift/operator-framework-operator-controller@10222b3 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-07-01 22:36:34 openshift/operator-framework-operator-controller@e6cb6ba Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-07-01 22:36:35 openshift/operator-framework-operator-controller@cc3b7ea Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-07-01 22:36:35 openshift/operator-framework-operator-controller@437868a Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-07-01 22:36:36 openshift/operator-framework-operator-controller@c0b1a4f Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-07-01 22:36:36 openshift/operator-framework-operator-controller@32b61e3 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-07-01 22:36:37 openshift/operator-framework-operator-controller@b169aef Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-07-01 22:36:37 openshift/operator-framework-operator-controller@65fe2d3 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-07-01 22:36:38 openshift/operator-framework-operator-controller@e836780 Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-07-01 22:36:38 openshift/operator-framework-operator-controller@eba7cab Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup
2026-07-01 22:36:39 openshift/operator-framework-operator-controller@9318c0e Camila Macedo UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in preflight test
2026-07-01 22:36:39 openshift/operator-framework-operator-controller@7ace3d7 Camila Macedo UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
2026-07-01 22:36:40 openshift/operator-framework-operator-controller@9d29019 Todd Short UPSTREAM: <carry>: Disable upstream TLSProfile tests
2026-07-01 22:36:40 openshift/operator-framework-operator-controller@f587e2b Camila Macedo UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests to run outside of OCP
2026-07-01 22:36:41 openshift/operator-framework-operator-controller@dd213b1 Camila Macedo UPSTREAM: <carry>: OTE - Make OTE local output easier to read
2026-07-01 22:36:41 openshift/operator-framework-operator-controller@0add23d Joe Lanford UPSTREAM: <carry>: remove dead e2e registry push job and related variables
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@e842e66 Todd Short UPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-affinity for HA topology
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@513fefa Todd Short UPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait between both-watch-modes scenarios
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@0788064 Todd Short UPSTREAM: <carry>: Fix downstream e2e test invocation
2026-07-01 22:36:43 openshift/operator-framework-operator-controller@d366047 Joe Lanford UPSTREAM: <carry>: Delete openshift/registry.Dockerfile
2026-07-01 22:36:43 openshift/operator-framework-operator-controller@9f15b69 Todd Short UPSTREAM: <carry>: Remove test-experimenal-e2e
2026-07-01 22:36:44 openshift/operator-framework-operator-controller@e65be98 Camila Macedo UPSTREAM: <carry>: Update readme Default Catalog Tests
2026-07-01 22:36:44 openshift/operator-framework-operator-controller@25ba7e5 Todd Short UPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
2026-07-01 22:36:45 openshift/operator-framework-operator-controller@f42f06e Todd Short UPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23 builders
2026-07-01 22:36:45 openshift/operator-framework-operator-controller@4d75bb6 AOS Automation Release Team UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-operator-controller.yml
2026-07-01 22:36:46 openshift/operator-framework-operator-controller@f96311d AOS Automation Release Team UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-catalogd.yml
2026-07-01 22:36:46 openshift/operator-framework-operator-controller@1cc69aa Todd Short UPSTREAM: <carry>: Update catalogs for 4.23/5.0

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/assign @openshift/openshift-team-operator-runtime

Summary by CodeRabbit

  • New Features

    • Added embedded demo playback support in the docs and site search for easier discovery.
    • Added a way to generate and publish demo recordings as reusable visual assets.
  • Bug Fixes

    • Improved test run timeout handling so end-to-end checks use a consistent fallback.
    • Refined demo test selection to exclude unrelated demo cases from standard runs.
  • Documentation

    • Updated README and how-to guides to use the new embedded demo experience.

…back (#2791)

- Upgrade go.opentelemetry.io/otel/exporters/otlp/otlptrace,
  otlptracegrpc, and otel/sdk from v1.43.0 to v1.44.0 to match otel,
  otel/metric, and otel/trace already at v1.44.0
- Move E2E_TIMEOUT fallback from target-specific ?= into the e2e-run-%
  recipe via $(or $(E2E_TIMEOUT),20m) so the 20m default is explicit
  and the 25m override from test-experimental-e2e is unambiguous

Signed-off-by: Todd Short <tshort@redhat.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 2, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@openshift-bot: This pull request explicitly references no jira issue.

Details

In response to this:

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-07-02 07:57:51 operator-framework/operator-controller@d0252d4 Todd Short fix: align OTel versions to v1.44.0 and use explicit e2e timeout fallback (#2791)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-07-01 22:35:55 openshift/operator-framework-operator-controller@4ba6f06 dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-07-01 22:35:56 openshift/operator-framework-operator-controller@c737947 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-07-01 22:35:57 openshift/operator-framework-operator-controller@dd82738 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-07-01 22:35:57 openshift/operator-framework-operator-controller@bb0507c Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-07-01 22:35:58 openshift/operator-framework-operator-controller@305865e Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-07-01 22:35:59 openshift/operator-framework-operator-controller@d0b77a2 Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-07-01 22:35:59 openshift/operator-framework-operator-controller@52b0b88 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-07-01 22:36:00 openshift/operator-framework-operator-controller@4ad0db1 Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-07-01 22:36:00 openshift/operator-framework-operator-controller@2d93008 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-07-01 22:36:01 openshift/operator-framework-operator-controller@ed62151 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-07-01 22:36:01 openshift/operator-framework-operator-controller@90cd4b3 Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-07-01 22:36:02 openshift/operator-framework-operator-controller@bc95427 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-07-01 22:36:02 openshift/operator-framework-operator-controller@7f97547 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-07-01 22:36:03 openshift/operator-framework-operator-controller@06c2aad Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-07-01 22:36:04 openshift/operator-framework-operator-controller@28859ae Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-07-01 22:36:05 openshift/operator-framework-operator-controller@5e6a94b Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-07-01 22:36:06 openshift/operator-framework-operator-controller@51a5ab4 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-07-01 22:36:06 openshift/operator-framework-operator-controller@3f6a929 Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-07-01 22:36:07 openshift/operator-framework-operator-controller@7d57ea8 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-07-01 22:36:07 openshift/operator-framework-operator-controller@6089a96 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-07-01 22:36:08 openshift/operator-framework-operator-controller@5046f6c Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-07-01 22:36:08 openshift/operator-framework-operator-controller@a29c033 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-07-01 22:36:09 openshift/operator-framework-operator-controller@a858239 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-07-01 22:36:09 openshift/operator-framework-operator-controller@a056fd6 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-07-01 22:36:10 openshift/operator-framework-operator-controller@ee1a8f0 Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-07-01 22:36:10 openshift/operator-framework-operator-controller@52ff18b Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@b7a29b5 Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@b0df80d Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@0a05614 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-07-01 22:36:12 openshift/operator-framework-operator-controller@2b9b6d2 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-07-01 22:36:12 openshift/operator-framework-operator-controller@3b477d4 Bruno Andrade UPSTREAM: <carry>: update metadata
2026-07-01 22:36:13 openshift/operator-framework-operator-controller@59196fd Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-07-01 22:36:13 openshift/operator-framework-operator-controller@71a3975 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-07-01 22:36:14 openshift/operator-framework-operator-controller@e5d6cca Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-07-01 22:36:14 openshift/operator-framework-operator-controller@b7a0ba8 Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-07-01 22:36:15 openshift/operator-framework-operator-controller@75f250a Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-07-01 22:36:15 openshift/operator-framework-operator-controller@1aa0d22 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-07-01 22:36:16 openshift/operator-framework-operator-controller@9c9574f Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-07-01 22:36:16 openshift/operator-framework-operator-controller@225df4e Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-07-01 22:36:17 openshift/operator-framework-operator-controller@20885ed Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-07-01 22:36:17 openshift/operator-framework-operator-controller@387a0af Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-07-01 22:36:18 openshift/operator-framework-operator-controller@20eeed7 Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-07-01 22:36:18 openshift/operator-framework-operator-controller@91066d2 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-07-01 22:36:19 openshift/operator-framework-operator-controller@1b5c329 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-07-01 22:36:19 openshift/operator-framework-operator-controller@446fc40 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-07-01 22:36:20 openshift/operator-framework-operator-controller@75381ab Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-07-01 22:36:20 openshift/operator-framework-operator-controller@ae95262 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-07-01 22:36:21 openshift/operator-framework-operator-controller@4ca5ce1 Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-07-01 22:36:21 openshift/operator-framework-operator-controller@e9196b5 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@bb81744 Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@a7cec7e Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@32f6d5c Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-07-01 22:36:23 openshift/operator-framework-operator-controller@c42aef1 Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-07-01 22:36:24 openshift/operator-framework-operator-controller@1dc32c5 Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-07-01 22:36:24 openshift/operator-framework-operator-controller@14dafa4 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-07-01 22:36:25 openshift/operator-framework-operator-controller@23ff437 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-07-01 22:36:25 openshift/operator-framework-operator-controller@94f1d10 Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-07-01 22:36:26 openshift/operator-framework-operator-controller@8a10bea Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-07-01 22:36:26 openshift/operator-framework-operator-controller@ae2c77b Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-07-01 22:36:27 openshift/operator-framework-operator-controller@c709153 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-07-01 22:36:28 openshift/operator-framework-operator-controller@49f9f75 Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-07-01 22:36:28 openshift/operator-framework-operator-controller@2948ac8 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-07-01 22:36:29 openshift/operator-framework-operator-controller@ff10b45 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-07-01 22:36:29 openshift/operator-framework-operator-controller@2988a8b Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-07-01 22:36:30 openshift/operator-framework-operator-controller@72b6996 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-07-01 22:36:30 openshift/operator-framework-operator-controller@d67a40c Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-07-01 22:36:31 openshift/operator-framework-operator-controller@87bdcdb Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-07-01 22:36:31 openshift/operator-framework-operator-controller@55c7e65 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-07-01 22:36:32 openshift/operator-framework-operator-controller@b862416 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-07-01 22:36:32 openshift/operator-framework-operator-controller@01722a7 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-07-01 22:36:33 openshift/operator-framework-operator-controller@e30c4fe Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-07-01 22:36:33 openshift/operator-framework-operator-controller@485cf8c Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-07-01 22:36:34 openshift/operator-framework-operator-controller@10222b3 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-07-01 22:36:34 openshift/operator-framework-operator-controller@e6cb6ba Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-07-01 22:36:35 openshift/operator-framework-operator-controller@cc3b7ea Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-07-01 22:36:35 openshift/operator-framework-operator-controller@437868a Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-07-01 22:36:36 openshift/operator-framework-operator-controller@c0b1a4f Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-07-01 22:36:36 openshift/operator-framework-operator-controller@32b61e3 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-07-01 22:36:37 openshift/operator-framework-operator-controller@b169aef Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-07-01 22:36:37 openshift/operator-framework-operator-controller@65fe2d3 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-07-01 22:36:38 openshift/operator-framework-operator-controller@e836780 Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-07-01 22:36:38 openshift/operator-framework-operator-controller@eba7cab Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup
2026-07-01 22:36:39 openshift/operator-framework-operator-controller@9318c0e Camila Macedo UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in preflight test
2026-07-01 22:36:39 openshift/operator-framework-operator-controller@7ace3d7 Camila Macedo UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
2026-07-01 22:36:40 openshift/operator-framework-operator-controller@9d29019 Todd Short UPSTREAM: <carry>: Disable upstream TLSProfile tests
2026-07-01 22:36:40 openshift/operator-framework-operator-controller@f587e2b Camila Macedo UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests to run outside of OCP
2026-07-01 22:36:41 openshift/operator-framework-operator-controller@dd213b1 Camila Macedo UPSTREAM: <carry>: OTE - Make OTE local output easier to read
2026-07-01 22:36:41 openshift/operator-framework-operator-controller@0add23d Joe Lanford UPSTREAM: <carry>: remove dead e2e registry push job and related variables
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@e842e66 Todd Short UPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-affinity for HA topology
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@513fefa Todd Short UPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait between both-watch-modes scenarios
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@0788064 Todd Short UPSTREAM: <carry>: Fix downstream e2e test invocation
2026-07-01 22:36:43 openshift/operator-framework-operator-controller@d366047 Joe Lanford UPSTREAM: <carry>: Delete openshift/registry.Dockerfile
2026-07-01 22:36:43 openshift/operator-framework-operator-controller@9f15b69 Todd Short UPSTREAM: <carry>: Remove test-experimenal-e2e
2026-07-01 22:36:44 openshift/operator-framework-operator-controller@e65be98 Camila Macedo UPSTREAM: <carry>: Update readme Default Catalog Tests
2026-07-01 22:36:44 openshift/operator-framework-operator-controller@25ba7e5 Todd Short UPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
2026-07-01 22:36:45 openshift/operator-framework-operator-controller@f42f06e Todd Short UPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23 builders
2026-07-01 22:36:45 openshift/operator-framework-operator-controller@4d75bb6 AOS Automation Release Team UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-operator-controller.yml
2026-07-01 22:36:46 openshift/operator-framework-operator-controller@f96311d AOS Automation Release Team UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-catalogd.yml
2026-07-01 22:36:46 openshift/operator-framework-operator-controller@1cc69aa Todd Short UPSTREAM: <carry>: Update catalogs for 4.23/5.0

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/assign @openshift/openshift-team-operator-runtime

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-bot openshift-bot added tide/merge-method-merge Denotes a PR that should use a standard merge by tide when it merges. kind/sync approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. labels Jul 2, 2026
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Walkthrough

Updates the e2e Makefile timeout handling and demo regeneration flow, replaces demo embeds in docs with local players/SVGs, removes legacy demo assets, and refreshes indirect module versions across the root and tooling modules.

Changes

Demo automation and docs

Layer / File(s) Summary
Demo targets and output
Makefile
Adds DEMO_OUTPUT_DIR, rewrites update-demos, and introduces demo-e2e and demo-svg for recording and SVG generation.
Docs and site embeds
README.md, mkdocs.yml, docs/draft/howto/enable-webhook-support.md, docs/draft/howto/single-ownnamespace-install.md
Replaces external demo embeds with local asciinema-player renders and enables the MkDocs plugin needed for playback.
Legacy demo asset removal
.gitignore, hack/demo/*, hack/demo/resources/*
Removes old demo scripts and manifests and ignores generated demo recordings under docs/demos/.

Dependency refresh

Layer / File(s) Summary
Root module dependencies
go.mod
Updates indirect go-containerregistry, mysql, grpc-gateway/v2, Sigstore, OpenTelemetry, and genproto versions.
Tooling module dependencies
hack/tools/test-profiling/go.mod, openshift/tests-extension/go.mod
Updates indirect golang.org/x/*, grpc-gateway/v2, OpenTelemetry, and genproto versions in tooling and tests-extension modules.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested labels: verified

Suggested reviewers: camilamacedo86, rashmigottipati, ankitathomas


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 3 warnings)

Check name Status Explanation Resolution
Ote Binary Stdout Contract ❌ Error test/internal/summary.PrintSummary now prints a skip message to stdout, and TestMain calls it, so the test binary emits non-JSON output. Move that message to stderr/logging (or remove it) so process-level code never writes to stdout.
Test Structure And Quality ⚠️ Warning FAIL: olmv1-topology.go checks deployments/PDBs with direct Get/List and no Eventually timeout, unlike nearby deployment tests that wait with WithTimeout/WithPolling. Wrap deployment/PDB reads in Eventually(...).WithTimeout(helpers.DefaultTimeout).WithPolling(helpers.DefaultPolling) (or a helper) so the test waits for reconciliation before asserting.
Microshift Test Compatibility ⚠️ Warning New @demo scenarios in test/e2e/features/demos.feature use OLM/ClusterExtension flows and have no MicroShift skip/tag guard. Add a [Skipped:MicroShift] or apigroup tag, or guard with exutil.IsMicroShiftCluster() and g.Skip(), for the demo e2e scenarios.
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning New demo e2e code uses 127.0.0.1 port-forwards and a bare busybox image, so it assumes IPv4 localhost and public image pulls. Make port-forward/local URL handling IPv6-safe (net.JoinHostPort or dual-stack localhost) and use a mirrored/internal image or an image-registry-backed test setup for busybox.
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title correctly reflects that this PR is a synchronization with upstream changes for OCPBUGS-95281.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 Changed Ginkgo titles are static literals; no dynamic IDs, timestamps, node/namespace names, or generated suffixes appear in test names.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No Ginkgo tests were added or changed; the only diff is commitchecker.yaml metadata.
Topology-Aware Scheduling Compatibility ✅ Passed No deployment manifests or controller code were changed; the Makefile edits only adjust e2e/demo commands and add no topology-sensitive scheduling constraints.
No-Weak-Crypto ✅ Passed The PR only changes docs, Makefile targets, and dependency pins; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret/token comparisons were added.
Container-Privileges ✅ Passed No changed manifest or recipe adds privileged/host namespace/capability escalation; the only container use is plain docker run in demo-svg without elevated flags.
No-Sensitive-Data-In-Logs ✅ Passed Only change is commitchecker.yaml with repo metadata; no logging or sensitive strings found.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.21.6 to 0.21.7.
- [Release notes](https://github.com/google/go-containerregistry/releases)
- [Commits](google/go-containerregistry@v0.21.6...v0.21.7)

---
updated-dependencies:
- dependency-name: github.com/google/go-containerregistry
  dependency-version: 0.21.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@openshift-bot openshift-bot force-pushed the synchronize-upstream branch from 533d541 to 8795f00 Compare July 3, 2026 00:12
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 3, 2026
@perdasilva

Copy link
Copy Markdown
Contributor

/retest

@perdasilva

Copy link
Copy Markdown
Contributor

/lgtm

@perdasilva

Copy link
Copy Markdown
Contributor

/verified by ci

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 3, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 3, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@perdasilva: This PR has been marked as verified by ci.

Details

In response to this:

/verified by ci

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 openshift-eng/jira-lifecycle-plugin repository.

Convert terminal demos from standalone shell scripts recorded via
asciinema to Godog BDD scenarios that generate asciicast v2 files
programmatically. This makes demos into verified tests that can
never silently break while producing terminal recordings.

The recording infrastructure captures kubectl commands and their
stdout/stderr with real execution timing during @demo-tagged
scenario execution. Per-step dedup handles polling transparently
so only successful results appear in the recording. Step text is
emitted as comments and commands are colored for readability.

Demo scenarios:
- ClusterCatalog Quickstart: queries the operatorhubio catalog API
- SingleNamespace Install Mode: installs mariadb-operator with a
  separate watch namespace, verifies rolebindings
- OwnNamespace Install Mode: installs mariadb-operator with
  watch namespace equal to install namespace
- Webhook Support: installs telegraf-operator, verifies mutating
  webhook injects sidecar container into test pod

Not converted (no matching demo scenarios):
- Synthetic User Permissions: feature gate disabled in experimental
- Helm Chart Support: blocked by OCPBUGS-95281

The update-demos Makefile target now builds OLM from source using the
experimental e2e infrastructure, deploys with all feature gates and
operatorhubio catalog, runs demo scenarios, converts recordings to
SVG via svg-term-cli, and tears down the cluster. Demo recordings
are embedded in docs via the mkdocs-asciinema-player plugin and
served from GitHub Pages, removing the dependency on asciinema.org
for hosting recordings. Demo scenarios are excluded from regular
e2e test runs via ~@demo filter.

CI workflow (update-demos.yaml):
- On PR: generates demos, uploads asciicast and SVG files as job
  artifacts
- On merge to main: generates demos, deploys docs with updated
  recordings via make deploy-docs

Old demo shell scripts, the asciinema generate-asciidemo.sh wrapper,
and hack/demo/ resource files have been removed.

Co-authored-by: Claude <noreply@anthropic.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD c86311f and 2 for PR HEAD 8795f00 in total

dependabot Bot and others added 8 commits July 3, 2026 12:59
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.38.0 to 0.55.0.
- [Commits](golang/net@v0.38.0...v0.55.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.55.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/sigstore/fulcio](https://github.com/sigstore/fulcio) from 1.8.5 to 1.8.6.
- [Release notes](https://github.com/sigstore/fulcio/releases)
- [Changelog](https://github.com/sigstore/fulcio/blob/main/CHANGELOG.md)
- [Commits](sigstore/fulcio@v1.8.5...v1.8.6)

---
updated-dependencies:
- dependency-name: github.com/sigstore/fulcio
  dependency-version: 1.8.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dtfranz <dfranz@redhat.com>

UPSTREAM: <carry>: Update generate-manifests to handle new directory

The `default` directory was renamed `base`.

Signed-off-by: Todd Short <todd.short@me.com>

The `base` directory was moved to `base\operator-controller`.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Drop commitchecker

Signed-off-by: Alexander Greene <greene.al1991@gmail.com>

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART
Reconciling with https://github.com/openshift/ocp-build-data/tree/4022cd290f00a44d667dda03f2d78d84a488c7ed/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: update owners

* Remove alumni from owners
* Add m1kola to approvers

Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com>

UPSTREAM: <carry>: Add pointer to tooling README

UPSTREAM: <carry>: Disable Validating Admission Policy APIs downstream

Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com>

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 4.16
Reconciling with https://github.com/openshift/ocp-build-data/tree/6250d54c4686a708ca5985afb73080e8ca9a1f7f/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: Enable Validating Admission Policy APIs downstream

* This reverts commit 3f079c4.
* Includes Validating Admission Policy manifests

Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com>

UPSTREAM: <carry>: manifests: set required-scc for openshift workloads

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 4.17
Reconciling with https://github.com/openshift/ocp-build-data/tree/4c1326094222f9209876f06833179a1b9178faf7/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: add everettraven to approvers+reviewers

Signed-off-by: everettraven <everettraven@gmail.com>

UPSTREAM: <carry>: add openshift kustomize overlay

to enable TLS communication with catalogd. Configure the CA certs
using the configmap injection method via service-ca-operator

Signed-off-by: everettraven <everettraven@gmail.com>

UPSTREAM: <carry>: Add tmshort to approvers

Also `s/runtime/framework/g` in the DOWNSTREAM_OWNERS

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 4.18
Reconciling with https://github.com/openshift/ocp-build-data/tree/dd68246f3237db5db458127566fc7b05b55e1660/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: Properly copy and call kustomize

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: manifests: add hostPath mount for /etc/containers

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Add test-e2e target for downstream Makefile to be run by openshift/release.

Signed-off-by: dtfranz <dfranz@redhat.com>

UPSTREAM: <carry>: Add downstream verify makefile target

Signed-off-by: dtfranz <dfranz@redhat.com>

UPSTREAM: <carry>: openshift: template log verbosity to be managed by cluster-olm-operator

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Add global-pull-secret flag

Pass global-pull-secret to the manager container.

Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com>

UPSTREAM: <carry>: Update openshift CAs to operator-controller

The /run/secrets/kubernetes.io/serviceaccount/ directory is projected
into the pod and contains the following CA certificates:

* configmap/kube-root-ca.crt as ca.crt
* configmap/openshift-service-ca.crt as service-ca.crt

Update the --ca-certs-dir argument to reference the directory.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Add HowTo for origin tests

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Add e2e registry Dockerfile

Signed-off-by: dtfranz <dfranz@redhat.com>

UPSTREAM: <carry>: add nodeSelector and tolerations to operator-controller deployment via kustomize patch

Signed-off-by: everettraven <everettraven@gmail.com>

UPSTREAM: <carry>: namespace: use privileged PSA for audit and warn levels

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Enable downstream e2e

Signed-off-by: dtfranz <dfranz@redhat.com>

UPSTREAM: <carry>: Remove m1kola from owners

Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com>

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 4.19
Reconciling with https://github.com/openshift/ocp-build-data/tree/a39508c86497b4e5e463d7b2c78e51e577be9e7d/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: generate and mount service-ca server cert

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Add support for proxy trustedCAs

Just map the list of trusted ca certs into the deployment

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Fix error to build the image

Copy correct (new) executable name for operator-controller

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Fix make verify for mac os envs

Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Move operator-controller openshift files to its own dir

UPSTREAM: <carry>: Upgrade OCP images from 4.18 to 4.19

UPSTREAM: <carry>: Add Openshift's catalogd manifests

- Move to openshift/catalogd the specific manifest under: https://github.com/openshift/operator-framework-catalogd/tree/main/openshift
- Add call to generate catalogd manifest to 'make manifest'. Make verify test is now done for catalogd and operator-controller Openshift's manifests

UPSTREAM: <carry>: resolve issue with pre-mature mounting of trusted CA configmap

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Add /etc/docker to the operator-controller and catalogd deployments

This allows for use of the any image.config.openshift.io trusted CAs

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: fixup catalogd.Dockerfile paths

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Resolve issue with pre-mature mounting of service CA configmap

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: use projected volume for CAs to avoid subPath limitations

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Revert "UPSTREAM: <carry>: use projected volume for CAs to avoid subPath limitations"

This reverts commit 548caa4.

UPSTREAM: <carry>: use projected volume for CAs to avoid subPath limitations

Signed-off-by: Joe Lanford <joe.lanford@gmail.com>

UPSTREAM: <carry>: Remove vet from openshift verify

The `vet` target was removed upstream.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Skip another upstream test

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Cleanup openshift/Makefile by removing no longer required comments regards catalogd e2e tests

UPSTREAM: <carry>: Enable OCP metrics collection by default

Enables OCP to collect Prometheus metrics for both catalogd and
operator-controller by default. This is accomplished
via ServiceMonitor CRs which are now created for both projects.

UPSTREAM: <carry>: Fix catalogd.Dockerfile to use new paths

The root catalogd directory has been removed

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Update DOWNSTREAM_OWNERS_ALIASES

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Add openshift node selector annotation

Signed-off-by: Catherine Chan-Tse <cchantse@redhat.com>
(cherry picked from commit 9b4a113)

UPSTREAM: <carry>: Add caalogd-cas-dir option to op-con

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: set the SElinux type

Signed-off-by: Jian Zhang <jiazha@redhat.com>

UPSTREAM: <carry>: Add initial stack to run tests to validate the catalogs

UPSTREAM: <carry>: Add vendor files for the catalog-sync tests

UPSTREAM: <carry>: Bump catalog versions to 4.19

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: revert "Bump catalog versions to 4.19"

This reverts commit a98980b.

UPSTREAM: <carry>: Update HOWTO-origin-tests

techpreview is no longer a required option.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [DefaultCatalogTests]: Allow to pass auth path for docker credentials"

UPSTREAM: <carry>: fix: set NoLchown=true to allow image unpack on OCPci

UPSTREAM: <carry>: [DefaultCatalogTests]: Moving parse of ENVVAR to the caller (follow-up 345)

UPSTREAM: <carry>: [Default Catalog]: Create tmp dir to extract layers with right permissions to avoid issues scenarios

UPSTREAM: <carry>: [Default Catalog](cleanp) Remove hack directory which is not used

UPSTREAM: <carry>: Change code implementation to extract layers in OCP env

UPSTREAM: <carry>: Add vendor files for change in the extract code implementation

UPSTREAM: <carry>: [Default Catalog Tests]: Final cleanups and enhancements of initial implementation

UPSTREAM: <carry>: SELinux type for operator-controller

Signed-off-by: Jian Zhang <jiazha@redhat.com>

UPSTREAM: <carry>: Bump catalog versions to 4.19

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [Default Catalog Consistency Test] (feat) add check for executable files in filesystem

Checks if given paths exist and point to executable files or valid symlinks.

UPSTREAM: <carry>: [Default Catalog Consistency Test]: fix junit output format to allow generate xml

UPSTREAM: <carry>: [Default Catalog Consistency Test] (feat) add check to validate multi-arch support

UPSTREAM: <carry>: [Default Catalog Consistency Test]: Enable CatalogChecks

UPSTREAM: <carry>: [Default Catalog Consistency Test]: Rename Tests suite and small cleanups

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 4.20
Reconciling with https://github.com/openshift/ocp-build-data/tree/dfb5c7d531490cfdc61a3b88bc533702b9624997/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 4.20
Reconciling with https://github.com/openshift/ocp-build-data/tree/dfb5c7d531490cfdc61a3b88bc533702b9624997/images/ose-olm-catalogd.yml

UPSTREAM: <carry>: Update e2e registry to use 1.24/4.20

Update the e2e registry Dockerfile to use golang 1.24/OCP 4.20

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [Catalog Default Tests]: Upgrade go version to 1.24.3, dependencies and fix new lint issue

UPSTREAM: <carry>: Add structure to allow move the orgin tests using OTE

This commit introduces a binary and supporting structure to enable the
execution of OpenShift origin (olmv1) tests using the Open Test Environment (OTE).

It lays the groundwork for moving origin test in openshift/origin to
be executed from this repository using OTE.

UPSTREAM: <carry>: Add support for experimental manifests

Update the openshift kustomize configuration for both operator-controller
and catalogd.

Update the manifest generation scripts to put the core generation code
into a function (ignore-whitespace will help with the review), so that
it can be called twice; once for standard, and once for experimental.

Move around some of the kustomization directives to
* Create a patch kustomization (Component) file and move the patch directives from olmv1-ns there. This allows it to be referenced from a different directory.
* Add a kustomization file for tusted-ca. This allows it to be referenced from a different directory.
* Move the setting of the namePrefix for operator-controller; this makes the generation compatible with upstream feature components.
* Define experimental kustomization files that reference existing components.
* Reference the correct CRDs (standard or experimental).
* Add references to upstream feature components into the experimental manifests.

This *will* add `--feature-gates` options from the upstream feature
components to the experimental manifests. The cluster-olm-operator will
strip those arguments from the deployments before adding the enabled
feature gates.

Update the Dockerfiles to include the experimental manifests and a copy
script (`cp-manifests`) into the image containers. The complexity of
having multiple sets of manifests mean that the simple initContainer
copy mechanism found in cluster-olm-operator is no longer sufficient.

This attempts to keep backwards compatibility with older versions of
cluster-olm-operator, specifically by keeping the original (standard)
manifests in the original location, and adding the experimental
manifests in a new directory. The new `cp-manifests` script is used
by newer versions of cluster-olm-operator.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [OTE] - chore: follow up openshift#383 – remove unreachable target call

UPSTREAM: <carry>: Remove build of test image registry

Upstream now uses a different image

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Add test-experimental-e2e target to openshift Makefile

This adds a test-experimental-e2e target to allow the CI to run the
experimental e2e test.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [OTE]: Add binary in the operator controller image to allow proper integration with OCP tests

UPSTREAM: <carry>: Fix experimental manifest copying

The standard manifest was being copied rather than the experimental
manifest. This meant that the expected feature-flags are not present.
This is failing now that we are doing a check for those feature-flags.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Update manifest generation for upstream rbac/webhooks

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [OTE] - Add tracking mechanism

UPSTREAM: <carry>: Update OTE dep to get fix

UPSTREAM: <carry>: [OTE] Add Readme

UPSTREAM: <carry>: set GIT_COMMIT env from SOURCE_GIT_COMMIT in Dockerfiles for operator-controller and catalogd

Signed-off-by: Rashmi Gottipati <chowdary.grashmi@gmail.com>

UPSTREAM: <carry>: add openshift specific build target to pass commit info downstream

Signed-off-by: Ankita Thomas <ankithom@redhat.com>

UPSTREAM: <carry>: add source commit into binaries when linking

- Removes extra GIT_COMMIT set
- fixup Dockerfiles after rebase
- consider "" unset so build-info can fill commit/date
- double quote go flags & honor GIT_COMMIT if set
- improve robustness of build-info parsing
- Trim whitespace on all version fields
- isUnset and valueOrUnknown now call strings.TrimSpace
- Avoid clobbering values injected via ldflags
- set repoState from build-info only when repoState is still unset
- set version from build-info only when unset and build-info value is non-empty

UPSTREAM: <carry>: OTE add first test from openshift/origin olmv1.go

UPSTREAM: <carry>: Migrate tasks from openshift/origin olm v1.go file which are remaining

This commit moves the final OLMv1 tests from openshift/origin/test/extended/olm/olmv1.go to their proper location in this repository. This migration is part of a larger effort to streamline development by co-locating tests with the component they validate. This will reduce CI overhead and allow for faster, more atomic changes.

Assisted-by: Gemini

UPSTREAM: <carry>: OTE - How to test locally with OCP instances

UPSTREAM: <carry>: [OTE] Refac: refac helper and olmv1 test to create namespace instead to use pre-existent

UPSTREAM: <carry>: [OTE] add webhook tests

Migrates OLMv1 webhook operator tests from using external YAML files to
defining resources in Go structs. This change removes file dependencies,
improving test reliability and simplifying test setup.

The migration is a refactoring of code from openshift/origin#30059.
The new code uses better naming conventions and adapts the tests to work
with a controller-runtime client, enhancing test consistency and maintainability.

The migration covers all core test scenarios:
- Validating, mutating, and conversion webhooks.
- Certificate and secret rotation tolerance.

Assisted-by: Gemini

UPSTREAM: <carry>: OTE: rewrite the upgrade incompatible operator test

This test replaces the existing upgrade incompatible test.
The main change is that operator and catalog bundles are created on-the-fly
to support OCP 4.20. This means we are no longer dependent on public
operators for this test.

This creates new bundles in the OCP ImageRegistry, this requires using
a number of OCP APIs, including using a raw API URL to invoke the build.
This is done by invoking an external k8s client (either `oc` or `kubectl`),
and passing it a tarball of the bundle to be created. So, it can't be done
by the golang k8sClient normally available (i.e. the create input is a
tarball not a YAML file).

This introduces the use of go-bindata to store the bundle contents.

It also pulls in openshift mage, buld and operator APIs.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Handle service-ca cert availability/rotation

There is problem when the service-ca certificate is not available at pod start.
This is an issue because the SystemCertPool is created from SSL_CERT_DIR,
which may include the empty service-ca. The SystemCertPool is never regenerated
during the lifetime of the program execution, so it will never get updated when
the service-ca is filled. Thus, we need to use --pull-cas-dir to reference the
CAs that we want to use. This will also allow OLMv1 to reload the service-ca
when it is reloaded (after 2 years, mind you). Removing the SSL_CERT_DIR setting,
and adding the --pull-cas-dir flag ought to be equivalent to what we have now
(i.e. SSL_CERT_DIR and no --pull-cas-dir), except that rotation will be handled
better.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [OTE] add webhook tests

Revert "UPSTREAM: <carry>: [OTE] add webhook tests"

This reverts commit 9963614.

UPSTREAM: <carry>: Upgrade OCP Catalog images from 4.19 to 4.20

UPSTREAM: <carry>: Remove bindata generation from build

Using go-bindata is causing problems with ART builds.

This removes the use of go-bindata from the builds.

This will subsequently require that users MANUALLY run
the `bindata` target to refresh the bindata, or use
the `build-update` target.

This is a quickfix to put out the fire.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: [OTE] Add webhook tests

- Add dumping of container logs and `kubectl describe pods` output for better diagnostics.
- Include targeted certificate details dump (`tls.crt` parse) when failures occur.
- Add additional check to verify webhook responsiveness after certificate rotation.

This change is a refactor of code from openshift/origin#30059.

Assisted-by: Gemini

UPSTREAM: <carry>: OTE add logs and dumps for olmv1 test and fix helper for clusterextensions

UPSTREAM: <carry>: [OTE] Migrate preflight checks from openshift/origin

Migrated OLMv1 operator preflight checks from using external YAML files to
defining ClusterRole permissions directly in Go structs. This improves test
reliability and simplifies test setup by removing file dependencies.

The changes ensure precise replication of original test scenarios,
including specific permission omissions for services, create verbs,
ClusterRoleBindings, ConfigMap resourceNames, and escalate/bind verbs.

Assisted-by: Gemini

UPSTREAM: <carry>: [OTE] Add webhook to validate openshift-service-ca certificate rotation

This change is a refactor of code from openshift/origin#30059.

Assisted-by: Gemini

UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.

UPSTREAM: <carry>: [OTE] - Readme:Add info to help use payload-aggregate with new tests

UPSTREAM: <carry>: remove obsolete owners

Signed-off-by: grokspawn <jordan@nimblewidget.com>

UPSTREAM: <carry>: [OTE] add catalog tests from openshift/origin

This commit migrates the olmv1_catalog set of tests from openshift/origin
to OTE as part the broad effort to migrate all tests.

Assisted-by: Gemini

UPSTREAM: <carry>: Migrate single/own namespace tests

This commit migrates the OLMv1 single and own namespace watch mode tests from openshift/origin/test/extended/olm/olmv1-singleownnamespace.go to this repository. This is part of the effort to move component-specific tests into their respective downstream locations.

Assisted-by: Gemini

UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.

This reverts commit 0bb1953.

UPSTREAM: <carry>: [OTE] Add webhook to validate openshift-service-ca certificate rotation

This reverts commit e9e3220.

UPSTREAM: <carry>: Ensure unique name for bad-catalog tests

UPSTREAM: <carry>: Revert "Handle service-ca cert availability/rotation"

This reverts commit 9cc13d8.

UPSTREAM: <carry>: grant QE approver permission for OTE

UPSTREAM: <carry>: Update webhook ote tests to use latest webhook-operator

Signed-off-by: Per Goncalves da Silva <pegoncal@redhat.com>

UPSTREAM: <carry>: update operator-controller to v1.5.1

UPSTREAM: <carry>: configure watchnamespace using spec.config for OTE tests

UPSTREAM: <carry>: add jiazha to approvers

UPSTREAM: <carry>: Create combined manifests for comparison

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Use Helm charts for openshift manifests

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: add support for tests-private cases and add the case

UPSTREAM: <carry>: Fix cp-manifests copying of helm charts

The method used to copy the helm charts is including an extra `helm`
directory in the destination path, that is making the cluster-olm-operator
code just a bit more complicated than it needs to be.

This fixes the copy location.

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Remove kustomize manifests from images and repo

Now that helm manifests are being used to dynamically generate the
manifests, the pre-generated manifests are no longer needed. So,
we can remove them from the repo and the images.

However, because we still want to verify the manifests are "good",
we are still creating a "single-file" version of the manifests
for verification purposes, and to allow us to see what changes
are happening to the manifests (from upstream and/or downstream
sources).

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Add pedjak and trgeiger as reviewers

UPSTREAM: <carry>: migrate more cases from tests-private and enhance suites with filters

UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 4.21
Reconciling with https://github.com/openshift/ocp-build-data/tree/4fbe3fab45239dc4be6f5d9d98a0bf36e0274ec9/images/ose-olm-operator-controller.yml

UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 4.21
Reconciling with https://github.com/openshift/ocp-build-data/tree/4fbe3fab45239dc4be6f5d9d98a0bf36e0274ec9/images/ose-olm-catalogd.yml

UPSTREAM: <carry>: OTE: Enable disconnected environment and build test operator controller image

Signed-off-by: Per Goncalves da Silva <pegoncal@redhat.com>

UPSTREAM: <carry>: for incompatible test add func to wait builder and deployer SA creation by OCP controller

UPSTREAM: <carry>: Fix VERSION replacement in catalog bindata

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: check kubeconfig only run-test and run-suite

UPSTREAM: <carry>: Clean up cp-manifests

There is no longer a need to copy conditionally

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: Update does-not-exist and simple install to work in a disconnected environment

Signed-off-by: Todd Short <todd.short@me.com>

UPSTREAM: <carry>: support webhook case in disconnected

UPSTREAM: <carry>: Consolidate build API

This consolidates the in-cluster building of a bundle and catalog.
The catalog and bundle bindata are inputs, along with a set of
replacements so that catalog and bundle templates can be used to
create the images.

This can be done in the BeforeEach() for a set of tests that use the
same data.

Signed-off-by: Todd Short <todd.short@me.com>
…images from openshift/catalogd/manifests.yaml
Signed-off-by: Todd Short <todd.short@me.com>
camilamacedo86 and others added 20 commits July 4, 2026 00:06
Signed-off-by: Todd Short <todd.short@me.com>
…ffinity for HA topology

Rolling updates in HighlyAvailable clusters leave catalogd and
operator-controller unavailable when the only running pod is evicted
before its replacement is ready.

Fix by defaulting replicas=1 and PDB disabled in the static Helm values
(safe for SNO/External topologies, passes the SNO conformance test that
asserts exactly one replica in SingleReplica topology mode). Add pod
anti-affinity to prefer scheduling replicas on different nodes.

cluster-olm-operator detects the cluster's ControlPlaneTopology at
startup and overrides these values to replicas=2 and PDB enabled when a
HighlyAvailable topology is detected, then re-renders the manifests
before starting controllers. When a topology change is observed at
runtime (exceedingly rare), the operator exits so its deployment
controller restarts it, triggering a fresh Helm render with the correct
values for the new topology.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
…etween both-watch-modes scenarios

The both-watch-modes test loops over two scenarios (singlens, ownns) inside
a single It block and was blocking on full namespace deletion between them.
This caused flaky 300s timeouts on GCP techpreview clusters where master
nodes run at 94-99% CPU, which starves the namespace controller and makes
namespace termination arbitrarily slow.

The wait was not guarding anything real:
- EnsureCleanupClusterExtension already ensures the CE and CRD are gone;
  since CE deletion uses ForegroundPropagation, the ClusterObjectSet teardown
  must complete before the CE disappears, meaning all managed resources
  (Deployments, Services, etc.) are already deleted at that point.
- The singleown bundle installs no ValidatingWebhookConfiguration or
  MutatingWebhookConfiguration, so there is no webhook admission risk.
- Each scenario generates unique namespace names and CRD group suffixes via
  rand.String(4), so a terminating namespace from scenario 1 cannot collide
  with or interfere with scenario 2's resources.

Trigger both namespace deletions and proceed without waiting. The DeferCleanup
registrations that already exist will handle any residual cleanup after the
spec exits.

Fixes: OCPBUGS-84943

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
- Replace broken test-experimental-e2e target (test/experimental-e2e no
  longer exists) with /bin/true so triggered jobs always succeed
- Pass -timeout=60m to go test; the previous invocation relied on Go's
  10m default which is too short for BoxcutterRuntime clusters
- Set E2E_STEP_TIMEOUT=15m; BoxcutterRuntime applies resources through
  sequential phases (CRD must reach Established before the deploy phase
  starts), making installations slower than the upstream 5m default
- Skip ~@CatalogdHA scenarios (require multiple catalogd replicas not
  present in standard topology)
- Skip ~@ProgressDeadline scenarios (require progressDeadlineMinutes < 10
  but the OpenShift CRD enforces a minimum of 10)
- Skip ~@httpproxy scenarios (too disruptive to cluster networking)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
The e2e-test-registry image is no longer built by CI after
openshift/release#78581 removed it from the CI config. The dynamic
per-scenario catalog system replaced the pre-built registry image,
making this Dockerfile dead code.
It's no longer bring used.

Signed-off-by: Todd Short <tshort@redhat.com>
Adds a new test that verifies cluster-olm-operator correctly configures
operator-controller and catalogd deployments based on the cluster's
control plane topology:
- HA topologies (HighlyAvailable, HighlyAvailableArbiter, DualReplica):
  replicas=2 with a PodDisruptionBudget present
- Non-HA topologies (SingleReplica/SNO, External): replicas=1, no PDB

Also registers policyv1 in the test scheme to support PDB list queries.

Assisted-by: claude
Signed-off-by: Todd Short <tshort@redhat.com>
… builders

Signed-off-by: Todd Short <tshort@redhat.com>
Set catalog image tags to v5.0 for the 4.23/5.0 release.

Dynamically discover an installable package from the serving catalogs
instead of hardcoding quay-operator v3.13.10, preferring quay-operator,
cluster-logging, serverless-operator, logic-operator in that order then
alling back to the first available package.

Signed-off-by: Todd Short <tshort@redhat.com>
@openshift-bot openshift-bot changed the title NO-ISSUE: Synchronize From Upstream Repositories OCPBUGS-95281: Synchronize From Upstream Repositories Jul 4, 2026
@openshift-bot openshift-bot force-pushed the synchronize-upstream branch from 8795f00 to f3c0f3a Compare July 4, 2026 00:10
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 4, 2026
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 4, 2026
@openshift-ci

openshift-ci Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

@openshift-ci-robot openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Jul 4, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@openshift-bot: This pull request references Jira Issue OCPBUGS-95281, which is invalid:

  • expected the bug to be open, but it isn't
  • expected the bug to target the "5.0.0" version, but no target version was set
  • expected the bug to be in one of the following states: NEW, ASSIGNED, POST, but it is Closed (Won't Do) instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

JIRA Tickets:

  • OCPBUGS-95281

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-07-03 13:02:33 operator-framework/operator-controller@395bb86 dependabot[bot] 🌱 Bump github.com/sigstore/fulcio from 1.8.5 to 1.8.6 (#2793)
2026-07-03 12:59:30 operator-framework/operator-controller@6655994 dependabot[bot] chore(deps): bump golang.org/x/net in /hack/tools/test-profiling (#2804)
2026-07-03 12:18:49 operator-framework/operator-controller@8013292 Predrag Knezevic feat: replace asciinema with godog-based demo recording (#2801)
2026-07-02 19:38:22 operator-framework/operator-controller@6a28728 dependabot[bot] 🌱 Bump github.com/google/go-containerregistry (#2800)
2026-07-02 07:57:51 operator-framework/operator-controller@d0252d4 Todd Short fix: align OTel versions to v1.44.0 and use explicit e2e timeout fallback (#2791)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-07-01 22:35:55 openshift/operator-framework-operator-controller@4ba6f06 dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-07-01 22:35:56 openshift/operator-framework-operator-controller@c737947 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-07-01 22:35:57 openshift/operator-framework-operator-controller@dd82738 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-07-01 22:35:57 openshift/operator-framework-operator-controller@bb0507c Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-07-01 22:35:58 openshift/operator-framework-operator-controller@305865e Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-07-01 22:35:59 openshift/operator-framework-operator-controller@d0b77a2 Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-07-01 22:35:59 openshift/operator-framework-operator-controller@52b0b88 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-07-01 22:36:00 openshift/operator-framework-operator-controller@4ad0db1 Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-07-01 22:36:00 openshift/operator-framework-operator-controller@2d93008 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-07-01 22:36:01 openshift/operator-framework-operator-controller@ed62151 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-07-01 22:36:01 openshift/operator-framework-operator-controller@90cd4b3 Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-07-01 22:36:02 openshift/operator-framework-operator-controller@bc95427 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-07-01 22:36:02 openshift/operator-framework-operator-controller@7f97547 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-07-01 22:36:03 openshift/operator-framework-operator-controller@06c2aad Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-07-01 22:36:04 openshift/operator-framework-operator-controller@28859ae Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-07-01 22:36:05 openshift/operator-framework-operator-controller@5e6a94b Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-07-01 22:36:06 openshift/operator-framework-operator-controller@51a5ab4 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-07-01 22:36:06 openshift/operator-framework-operator-controller@3f6a929 Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-07-01 22:36:07 openshift/operator-framework-operator-controller@7d57ea8 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-07-01 22:36:07 openshift/operator-framework-operator-controller@6089a96 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-07-01 22:36:08 openshift/operator-framework-operator-controller@5046f6c Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-07-01 22:36:08 openshift/operator-framework-operator-controller@a29c033 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-07-01 22:36:09 openshift/operator-framework-operator-controller@a858239 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-07-01 22:36:09 openshift/operator-framework-operator-controller@a056fd6 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-07-01 22:36:10 openshift/operator-framework-operator-controller@ee1a8f0 Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-07-01 22:36:10 openshift/operator-framework-operator-controller@52ff18b Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@b7a29b5 Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@b0df80d Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-07-01 22:36:11 openshift/operator-framework-operator-controller@0a05614 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-07-01 22:36:12 openshift/operator-framework-operator-controller@2b9b6d2 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-07-01 22:36:12 openshift/operator-framework-operator-controller@3b477d4 Bruno Andrade UPSTREAM: <carry>: update metadata
2026-07-01 22:36:13 openshift/operator-framework-operator-controller@59196fd Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-07-01 22:36:13 openshift/operator-framework-operator-controller@71a3975 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-07-01 22:36:14 openshift/operator-framework-operator-controller@e5d6cca Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-07-01 22:36:14 openshift/operator-framework-operator-controller@b7a0ba8 Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-07-01 22:36:15 openshift/operator-framework-operator-controller@75f250a Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-07-01 22:36:15 openshift/operator-framework-operator-controller@1aa0d22 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-07-01 22:36:16 openshift/operator-framework-operator-controller@9c9574f Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-07-01 22:36:16 openshift/operator-framework-operator-controller@225df4e Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-07-01 22:36:17 openshift/operator-framework-operator-controller@20885ed Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-07-01 22:36:17 openshift/operator-framework-operator-controller@387a0af Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-07-01 22:36:18 openshift/operator-framework-operator-controller@20eeed7 Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-07-01 22:36:18 openshift/operator-framework-operator-controller@91066d2 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-07-01 22:36:19 openshift/operator-framework-operator-controller@1b5c329 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-07-01 22:36:19 openshift/operator-framework-operator-controller@446fc40 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-07-01 22:36:20 openshift/operator-framework-operator-controller@75381ab Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-07-01 22:36:20 openshift/operator-framework-operator-controller@ae95262 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-07-01 22:36:21 openshift/operator-framework-operator-controller@4ca5ce1 Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-07-01 22:36:21 openshift/operator-framework-operator-controller@e9196b5 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@bb81744 Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@a7cec7e Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-07-01 22:36:22 openshift/operator-framework-operator-controller@32f6d5c Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-07-01 22:36:23 openshift/operator-framework-operator-controller@c42aef1 Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-07-01 22:36:24 openshift/operator-framework-operator-controller@1dc32c5 Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-07-01 22:36:24 openshift/operator-framework-operator-controller@14dafa4 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-07-01 22:36:25 openshift/operator-framework-operator-controller@23ff437 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-07-01 22:36:25 openshift/operator-framework-operator-controller@94f1d10 Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-07-01 22:36:26 openshift/operator-framework-operator-controller@8a10bea Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-07-01 22:36:26 openshift/operator-framework-operator-controller@ae2c77b Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-07-01 22:36:27 openshift/operator-framework-operator-controller@c709153 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-07-01 22:36:28 openshift/operator-framework-operator-controller@49f9f75 Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-07-01 22:36:28 openshift/operator-framework-operator-controller@2948ac8 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-07-01 22:36:29 openshift/operator-framework-operator-controller@ff10b45 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-07-01 22:36:29 openshift/operator-framework-operator-controller@2988a8b Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-07-01 22:36:30 openshift/operator-framework-operator-controller@72b6996 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-07-01 22:36:30 openshift/operator-framework-operator-controller@d67a40c Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-07-01 22:36:31 openshift/operator-framework-operator-controller@87bdcdb Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-07-01 22:36:31 openshift/operator-framework-operator-controller@55c7e65 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-07-01 22:36:32 openshift/operator-framework-operator-controller@b862416 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-07-01 22:36:32 openshift/operator-framework-operator-controller@01722a7 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-07-01 22:36:33 openshift/operator-framework-operator-controller@e30c4fe Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-07-01 22:36:33 openshift/operator-framework-operator-controller@485cf8c Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-07-01 22:36:34 openshift/operator-framework-operator-controller@10222b3 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-07-01 22:36:34 openshift/operator-framework-operator-controller@e6cb6ba Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-07-01 22:36:35 openshift/operator-framework-operator-controller@cc3b7ea Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-07-01 22:36:35 openshift/operator-framework-operator-controller@437868a Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-07-01 22:36:36 openshift/operator-framework-operator-controller@c0b1a4f Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-07-01 22:36:36 openshift/operator-framework-operator-controller@32b61e3 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-07-01 22:36:37 openshift/operator-framework-operator-controller@b169aef Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-07-01 22:36:37 openshift/operator-framework-operator-controller@65fe2d3 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-07-01 22:36:38 openshift/operator-framework-operator-controller@e836780 Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-07-01 22:36:38 openshift/operator-framework-operator-controller@eba7cab Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup
2026-07-01 22:36:39 openshift/operator-framework-operator-controller@9318c0e Camila Macedo UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in preflight test
2026-07-01 22:36:39 openshift/operator-framework-operator-controller@7ace3d7 Camila Macedo UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
2026-07-01 22:36:40 openshift/operator-framework-operator-controller@9d29019 Todd Short UPSTREAM: <carry>: Disable upstream TLSProfile tests
2026-07-01 22:36:40 openshift/operator-framework-operator-controller@f587e2b Camila Macedo UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests to run outside of OCP
2026-07-01 22:36:41 openshift/operator-framework-operator-controller@dd213b1 Camila Macedo UPSTREAM: <carry>: OTE - Make OTE local output easier to read
2026-07-01 22:36:41 openshift/operator-framework-operator-controller@0add23d Joe Lanford UPSTREAM: <carry>: remove dead e2e registry push job and related variables
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@e842e66 Todd Short UPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-affinity for HA topology
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@513fefa Todd Short UPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait between both-watch-modes scenarios
2026-07-01 22:36:42 openshift/operator-framework-operator-controller@0788064 Todd Short UPSTREAM: <carry>: Fix downstream e2e test invocation
2026-07-01 22:36:43 openshift/operator-framework-operator-controller@d366047 Joe Lanford UPSTREAM: <carry>: Delete openshift/registry.Dockerfile
2026-07-01 22:36:43 openshift/operator-framework-operator-controller@9f15b69 Todd Short UPSTREAM: <carry>: Remove test-experimenal-e2e
2026-07-01 22:36:44 openshift/operator-framework-operator-controller@e65be98 Camila Macedo UPSTREAM: <carry>: Update readme Default Catalog Tests
2026-07-01 22:36:44 openshift/operator-framework-operator-controller@25ba7e5 Todd Short UPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
2026-07-01 22:36:45 openshift/operator-framework-operator-controller@f42f06e Todd Short UPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23 builders
2026-07-01 22:36:45 openshift/operator-framework-operator-controller@4d75bb6 AOS Automation Release Team UPSTREAM: <carry>: Updating ose-olm-operator-controller-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-operator-controller.yml
2026-07-01 22:36:46 openshift/operator-framework-operator-controller@f96311d AOS Automation Release Team UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-olm-catalogd.yml
2026-07-01 22:36:46 openshift/operator-framework-operator-controller@1cc69aa Todd Short UPSTREAM: <carry>: Update catalogs for 4.23/5.0

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/assign @openshift/openshift-team-operator-runtime

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: openshift-bot

The full list of commands accepted by this bot can be found here.

The pull request process is described 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 coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
Makefile (2)

724-725: 🔒 Security & Privacy | 🔵 Trivial | 💤 Low value

Consider pinning the node:alpine image tag.

Floating node:alpine tag can silently change Node.js versions between runs, causing non-reproducible demo generation. Since this is dev/demo tooling only, this is a minor nit.

🤖 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 `@Makefile` around lines 724 - 725, The demo-generation command in the Makefile
uses the floating node:alpine image tag, which can change behavior between runs.
Update the docker run invocation in this demo tooling step to use a pinned Node
image tag instead of node:alpine, so the svg-term-cli conversion stays
reproducible across runs.

709-716: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Hardcoded 30m timeout, inconsistent with E2E_TIMEOUT fallback pattern used elsewhere.

e2e-run-% uses $(or $(E2E_TIMEOUT),20m) for its fallback; demo-e2e instead hardcodes -timeout 30m, so overriding E2E_TIMEOUT for a demo run isn't possible.

🤖 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 `@Makefile` around lines 709 - 716, The demo-e2e target hardcodes the Go test
timeout instead of using the same configurable fallback pattern as e2e-run-%, so
make demo-e2e respect E2E_TIMEOUT with a default value rather than always
passing 30m. Update the go test invocation in the demo-e2e recipe to use the
existing E2E_TIMEOUT variable pattern, and keep the change localized to the
demo-e2e target so the timeout remains overridable without affecting the rest of
the Makefile.
🤖 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 `@Makefile`:
- Around line 718-726: The demo-svg recipe currently iterates over an unquoted
*.cast glob, so when no recordings exist it passes a literal path into docker
and fails confusingly. Update the demo-svg target to use bash-friendly glob
handling in the recipe (consistent with the existing bash-only [[ ]] usage) by
enabling a no-match-safe pattern or explicitly checking for matching files
before the loop, and keep the existing demo-svg command flow and symbols like
demo-svg, DEMO_OUTPUT_DIR, and the for cast loop intact.

---

Nitpick comments:
In `@Makefile`:
- Around line 724-725: The demo-generation command in the Makefile uses the
floating node:alpine image tag, which can change behavior between runs. Update
the docker run invocation in this demo tooling step to use a pinned Node image
tag instead of node:alpine, so the svg-term-cli conversion stays reproducible
across runs.
- Around line 709-716: The demo-e2e target hardcodes the Go test timeout instead
of using the same configurable fallback pattern as e2e-run-%, so make demo-e2e
respect E2E_TIMEOUT with a default value rather than always passing 30m. Update
the go test invocation in the demo-e2e recipe to use the existing E2E_TIMEOUT
variable pattern, and keep the change localized to the demo-e2e target so the
timeout remains overridable without affecting the rest of the Makefile.
🪄 Autofix (Beta)

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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e33e6ee5-3aa2-4c37-9d70-fcfd25c16a5c

📥 Commits

Reviewing files that changed from the base of the PR and between 8795f00 and f3c0f3a.

⛔ Files ignored due to path filters (251)
  • go.sum is excluded by !**/*.sum
  • hack/tools/test-profiling/go.sum is excluded by !**/*.sum
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/escape.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/iter.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/node.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/nodetype_string.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/parse.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/render.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/html/token.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/README.md is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/client_conn_pool.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/client_priority_go126.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/client_priority_go127.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/clientconn.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/config.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/config_go124.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/config_go125.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/config_go126.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/config_pre_go124.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/frame.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/gotrack.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/http2.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/server.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/server_common.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/server_wrap.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/timer.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/transport.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/transport_common.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/transport_wrap.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/writesched.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/writesched_common.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/writesched_random.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/http2/writesched_roundrobin.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/go118.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/idna.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/idna9.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/pre_go118.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/punycode.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables10.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables11.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables12.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables13.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables15.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables17.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/tables9.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/trie12.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/idna/trie13.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/internal/httpcommon/request.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/internal/httpsfv/httpsfv.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/internal/socks/socks.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/net/websocket/hybi.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/plan9/pwd_plan9.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/plan9/syscall_plan9.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/affinity_linux.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/fdset.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ifreq_linux.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ioctl_signed.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ioctl_unsigned.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/mkall.sh is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/mkerrors.sh is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/readv_unix.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_darwin.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_linux.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_linux_arm.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_netbsd.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_openbsd.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_solaris.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/syscall_unix.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_386.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_linux.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_386.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/windows/aliases.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/windows/dll_windows.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/windows/security_windows.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/windows/syscall_windows.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/windows/types_windows.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/sys/windows/zsyscall_windows.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/term/term_windows.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/term/terminal.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/secure/bidirule/bidirule.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/core.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/forminfo.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go is excluded by !**/vendor/**
  • hack/tools/test-profiling/vendor/modules.txt is excluded by !**/vendor/**
  • openshift/tests-extension/go.sum is excluded by !**/*.sum
  • openshift/tests-extension/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/options.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/container.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/env.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_exec.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/os.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/os_unix.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/os_windows.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/process.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/span.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/span_limits.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/semconv/v1.41.0/otelconv/metric.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • openshift/tests-extension/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • openshift/tests-extension/vendor/modules.txt is excluded by !**/vendor/**
  • vendor/github.com/google/go-containerregistry/internal/gzip/zip.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/internal/limit/limit.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/name/registry.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/name/repository.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/registry/blobs.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/registry/blobs_disk.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/layout/blob.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/mutate/mutate.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/remote/catalog.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/remote/fetcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/remote/list.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/remote/referrers.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/remote/transport/bearer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/remote/transport/error.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/tarball/image.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/google/go-containerregistry/pkg/v1/tarball/write.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/sigstore/fulcio/pkg/certificate/extensions.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/sigstore/protobuf-specs/gen/pb-go/common/v1/sigstore_common.pb.go is excluded by !**/*.pb.go, !**/gen/**, !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/container.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/env.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/host_id_exec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/os.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/os_unix.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/os_windows.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/process.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/span.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/span_limits.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/version.go is excluded by !**/vendor/**, !vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.41.0/otelconv/metric.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (40)
  • .gitignore
  • Makefile
  • README.md
  • docs/draft/howto/enable-webhook-support.md
  • docs/draft/howto/single-ownnamespace-install.md
  • go.mod
  • hack/demo/catalogd-demo-script.sh
  • hack/demo/catalogd-metas-demo-script.sh
  • hack/demo/generate-asciidemo.sh
  • hack/demo/graphql-demo-script.sh
  • hack/demo/graphql-demo-server/main.go
  • hack/demo/gzip-demo-script.sh
  • hack/demo/own-namespace-demo-script.sh
  • hack/demo/resources/own-namespace-demo.yaml
  • hack/demo/resources/single-namespace-demo.yaml
  • hack/demo/resources/synthetic-user-perms/argocd-clusterextension.yaml
  • hack/demo/resources/synthetic-user-perms/cegroup-admin-binding.yaml
  • hack/demo/resources/webhook-provider-certmanager/mutating-webhook-test.yaml
  • hack/demo/resources/webhook-provider-certmanager/validating-webhook-test.yaml
  • hack/demo/resources/webhook-provider-certmanager/webhook-operator-catalog.yaml
  • hack/demo/resources/webhook-provider-certmanager/webhook-operator-extension.yaml
  • hack/demo/single-namespace-demo-script.sh
  • hack/demo/synthetic-user-cluster-admin-demo-script.sh
  • hack/demo/webhook-provider-certmanager-demo-script.sh
  • hack/tools/test-profiling/go.mod
  • mkdocs.yml
  • openshift/tests-extension/go.mod
  • requirements.txt
  • scripts/install.tpl.sh
  • test/e2e/features/demos.feature
  • test/e2e/features_test.go
  • test/e2e/steps/asciicast_hooks.go
  • test/e2e/steps/asciicast_recorder.go
  • test/e2e/steps/demo_steps.go
  • test/e2e/steps/ha_steps.go
  • test/e2e/steps/hooks.go
  • test/e2e/steps/proxy_steps.go
  • test/e2e/steps/steps.go
  • test/e2e/steps/tls_steps.go
  • test/e2e/steps/upgrade_steps.go
💤 Files with no reviewable changes (18)
  • hack/demo/resources/webhook-provider-certmanager/validating-webhook-test.yaml
  • hack/demo/resources/single-namespace-demo.yaml
  • hack/demo/resources/synthetic-user-perms/cegroup-admin-binding.yaml
  • hack/demo/webhook-provider-certmanager-demo-script.sh
  • hack/demo/catalogd-demo-script.sh
  • hack/demo/resources/webhook-provider-certmanager/webhook-operator-catalog.yaml
  • hack/demo/graphql-demo-script.sh
  • hack/demo/resources/webhook-provider-certmanager/mutating-webhook-test.yaml
  • hack/demo/single-namespace-demo-script.sh
  • hack/demo/gzip-demo-script.sh
  • hack/demo/synthetic-user-cluster-admin-demo-script.sh
  • hack/demo/catalogd-metas-demo-script.sh
  • hack/demo/resources/own-namespace-demo.yaml
  • hack/demo/graphql-demo-server/main.go
  • hack/demo/own-namespace-demo-script.sh
  • hack/demo/resources/webhook-provider-certmanager/webhook-operator-extension.yaml
  • hack/demo/generate-asciidemo.sh
  • hack/demo/resources/synthetic-user-perms/argocd-clusterextension.yaml
✅ Files skipped from review due to trivial changes (6)
  • README.md
  • docs/draft/howto/enable-webhook-support.md
  • docs/draft/howto/single-ownnamespace-install.md
  • .gitignore
  • hack/tools/test-profiling/go.mod
  • mkdocs.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • openshift/tests-extension/go.mod
  • go.mod

Comment thread Makefile
Comment on lines +718 to 726
.PHONY: demo-svg
demo-svg: #EXHELP Convert asciicast recordings to SVG.
@command -v docker >/dev/null 2>&1 || { echo "Error: docker not found in PATH."; exit 1; }
@for cast in $(DEMO_OUTPUT_DIR)/*.cast; do \
svg=$${cast%.cast}.svg; \
echo "Converting $$(basename $$cast) -> $$(basename $$svg)"; \
docker run --rm -v $(DEMO_OUTPUT_DIR):/data node:alpine \
npx --yes svg-term-cli --in /data/$$(basename $$cast) --out /data/$$(basename $$svg) --window; \
done

Copy link
Copy Markdown

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

Unquoted glob can fail when no .cast files exist.

If $(DEMO_OUTPUT_DIR) contains no .cast files, the glob won't expand under default shell settings, so cast becomes the literal string $(DEMO_OUTPUT_DIR)/*.cast, and docker run will fail trying to mount/read a nonexistent file with a confusing error instead of a clear message.

🐛 Proposed fix using nullglob guard
 demo-svg: `#EXHELP` Convert asciicast recordings to SVG.
 	`@command` -v docker >/dev/null 2>&1 || { echo "Error: docker not found in PATH."; exit 1; }
-	`@for` cast in $(DEMO_OUTPUT_DIR)/*.cast; do \
+	`@shopt` -s nullglob; \
+	casts=($(DEMO_OUTPUT_DIR)/*.cast); \
+	if [ $${`#casts`[@]} -eq 0 ]; then \
+	  echo "No .cast files found in $(DEMO_OUTPUT_DIR)"; \
+	  exit 0; \
+	fi; \
+	for cast in "$${casts[@]}"; do \
 	  svg=$${cast%.cast}.svg; \
 	  echo "Converting $$(basename $$cast) -> $$(basename $$svg)"; \
 	  docker run --rm -v $(DEMO_OUTPUT_DIR):/data node:alpine \
 	    npx --yes svg-term-cli --in /data/$$(basename $$cast) --out /data/$$(basename $$svg) --window; \
 	done

Requires bash as the recipe shell (for shopt/arrays) — verify SHELL is set to bash elsewhere in this Makefile, consistent with the [[ ]] usage already present at Line 411/422.

📝 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
.PHONY: demo-svg
demo-svg: #EXHELP Convert asciicast recordings to SVG.
@command -v docker >/dev/null 2>&1 || { echo "Error: docker not found in PATH."; exit 1; }
@for cast in $(DEMO_OUTPUT_DIR)/*.cast; do \
svg=$${cast%.cast}.svg; \
echo "Converting $$(basename $$cast) -> $$(basename $$svg)"; \
docker run --rm -v $(DEMO_OUTPUT_DIR):/data node:alpine \
npx --yes svg-term-cli --in /data/$$(basename $$cast) --out /data/$$(basename $$svg) --window; \
done
.PHONY: demo-svg
demo-svg: `#EXHELP` Convert asciicast recordings to SVG.
`@command` -v docker >/dev/null 2>&1 || { echo "Error: docker not found in PATH."; exit 1; }
`@shopt` -s nullglob; \
casts=($(DEMO_OUTPUT_DIR)/*.cast); \
if [ $${`#casts`[@]} -eq 0 ]; then \
echo "No .cast files found in $(DEMO_OUTPUT_DIR)"; \
exit 0; \
fi; \
for cast in "$${casts[@]}"; do \
svg=$${cast%.cast}.svg; \
echo "Converting $$(basename $$cast) -> $$(basename $$svg)"; \
docker run --rm -v $(DEMO_OUTPUT_DIR):/data node:alpine \
npx --yes svg-term-cli --in /data/$$(basename $$cast) --out /data/$$(basename $$svg) --window; \
done
🧰 Tools
🪛 checkmake (0.3.2)

[warning] 719-719: Target body for "demo-svg" exceeds allowed length of 5 lines (7).

(maxbodylength)


[warning] 719-719: Required target "all" is missing from the Makefile.

(minphony)


[warning] 719-719: Required target "clean" is missing from the Makefile.

(minphony)

🤖 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 `@Makefile` around lines 718 - 726, The demo-svg recipe currently iterates over
an unquoted *.cast glob, so when no recordings exist it passes a literal path
into docker and fails confusingly. Update the demo-svg target to use
bash-friendly glob handling in the recipe (consistent with the existing
bash-only [[ ]] usage) by enabling a no-match-safe pattern or explicitly
checking for matching files before the loop, and keep the existing demo-svg
command flow and symbols like demo-svg, DEMO_OUTPUT_DIR, and the for cast loop
intact.

@openshift-ci

openshift-ci Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

@openshift-bot: The following tests 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/prow/openshift-e2e-aws-techpreview f3c0f3a link true /test openshift-e2e-aws-techpreview
ci/prow/images f3c0f3a link true /test images
ci/prow/openshift-e2e-aws f3c0f3a link true /test openshift-e2e-aws

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/sync tide/merge-method-merge Denotes a PR that should use a standard merge by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.