Skip to content

fix(ci): dynamically resolve catalog index image from branch + remove trigger-nightly-job command#4860

Draft
zdrapela wants to merge 3 commits into
redhat-developer:mainfrom
zdrapela:feature/dynamic-catalog-index-override
Draft

fix(ci): dynamically resolve catalog index image from branch + remove trigger-nightly-job command#4860
zdrapela wants to merge 3 commits into
redhat-developer:mainfrom
zdrapela:feature/dynamic-catalog-index-override

Conversation

@zdrapela
Copy link
Copy Markdown
Member

Summary

Dynamically resolve the catalog index image coordinates from RELEASE_BRANCH_NAME instead of hardcoding them, and add Gangway API override support for catalog index and chart version.

Also removes the trigger-nightly-job agent command wrappers (migrating to rhdh-skills repo).

Changes

Dynamic catalog index resolution

  • env_variables.sh: Add RELEASE_VERSION canonical variable (mainnext, release-X.YX.Y) and CATALOG_INDEX_REGISTRY, CATALOG_INDEX_REPO, CATALOG_INDEX_TAG with fallback defaults
  • 5 operator Backstage CRs: Replace hardcoded quay.io/rhdh/plugin-catalog-index:1.10 with $CATALOG_INDEX_REGISTRY/$CATALOG_INDEX_REPO:$CATALOG_INDEX_TAG
  • lib/helm.sh: Add --set global.catalogIndex.image.{registry,repository,tag} to helm::get_image_params()
  • operator.sh: Simplify if main/else block to use RELEASE_VERSION

Gangway override support

  • trigger-nightly-job.sh: Add --catalog-index-registry, --catalog-index-repo, --catalog-index-tag, --chart-version flags

Agent command removal

  • Remove trigger-nightly-job command from .claude/, .cursor/, .opencode/, .rulesync/ (migrating to rhdh-skills)

Companion PR

  • openshift/release: Gangway override declarations for the 4 new variables (independent, merge order doesn't matter due to fallback defaults)

Testing

  • Trigger OCP Helm + Operator nightly jobs to verify

zdrapela added 3 commits May 20, 2026 13:50
Deploy showcase-runtime with internal PostgreSQL (Helm sub-chart / operator-managed)
instead of external Crunchy DB. This makes the runtime deployment self-contained and
fixes the test ordering issue where showcase-runtime tests were always skipped because
showcase-runtime-db failures blocked them via Playwright project dependencies.

Changes:
- Reverse Playwright project dependency: showcase-runtime runs first (no deps),
  showcase-runtime-db depends on it (runs after)
- Pipeline calls showcase-runtime-db which triggers showcase-runtime as dependency
- New Helm values (values-showcase-runtime.yaml) with postgresql.enabled=true
- New operator CR (rhdh-start-runtime-local.yaml) with internal DB, uses
  rhdh-runtime-config secret for RHDH_RUNTIME_URL (separate from postgres-cred
  to avoid POSTGRES_* env vars overriding operator's internal DB config)
- New minimal app-config (app-config-rhdh-runtime.yaml) without backend.database
- External DB tests use prepareForExternalDatabase() to switch from internal to
  external DB at runtime (patches ConfigMap + adds env vars via JSON patch)
- Extract waitForRuntimeDeploymentReady() utility for reuse
- Remove Crunchy PostgresCluster dependency from runtime namespace

Verified on OCP cluster:
- Helm: deployment + config-map.spec.ts PASSED
- Operator: deployment succeeded (2/2 ready, HTTP 200), config-map test
  ConfigMap update worked, restart hit transient PVC provisioning delay
  (sandbox cluster infra issue, not code bug)

Assisted-by: OpenCode
Replace hardcoded quay.io/rhdh/plugin-catalog-index:1.10 with
branch-aware variables (CATALOG_INDEX_REGISTRY, CATALOG_INDEX_REPO,
CATALOG_INDEX_TAG) derived from RELEASE_BRANCH_NAME.

Add RELEASE_VERSION canonical variable (release-1.10 -> 1.10,
main -> next) to env_variables.sh for reuse across CI scripts.

Changes:
- env_variables.sh: Add RELEASE_VERSION + CATALOG_INDEX_* variables
- 5 operator Backstage CRs: Use $CATALOG_INDEX_* via envsubst
- lib/helm.sh: Add --set global.catalogIndex.image.{registry,repository,tag}
- operator.sh: Simplify version derivation using RELEASE_VERSION
- trigger-nightly-job.sh: Add --catalog-index-{registry,repo,tag} and
  --chart-version Gangway override flags for RC/GA verification

Companion PR required in openshift/release to add MULTISTAGE_PARAM_OVERRIDE_*
env vars to step registry ref.yaml + commands.sh files. The rhdh changes
include fallback defaults so order of merge does not matter.

Assisted-by: OpenCode
The trigger-nightly-job command is migrating to the rhdh-skills
repository. Remove the agent command wrappers from all 4 agent
tool directories (.claude, .cursor, .opencode, .rulesync).

The actual shell script (.ci/pipelines/trigger-nightly-job.sh) is
retained as it is still used by CI pipelines.

Assisted-by: OpenCode
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 20, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@sonarqubecloud
Copy link
Copy Markdown

@zdrapela
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm

@zdrapela
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@codecov
Copy link
Copy Markdown

codecov Bot commented May 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.60%. Comparing base (fe1ffcc) to head (907376b).
⚠️ Report is 21 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #4860       +/-   ##
===========================================
+ Coverage   41.09%   69.60%   +28.51%     
===========================================
  Files         118      111        -7     
  Lines        2217     4702     +2485     
  Branches      563      537       -26     
===========================================
+ Hits          911     3273     +2362     
- Misses       1301     1429      +128     
+ Partials        5        0        -5     
Flag Coverage Δ
install-dynamic-plugins 92.44% <ø> (?)
rhdh 38.81% <ø> (-2.29%) ⬇️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fe1ffcc...907376b. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 20, 2026

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

Test name Commit Details Required Rerun command
ci/prow/e2e-ocp-operator-nightly 907376b link false /test e2e-ocp-operator-nightly

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.

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 26, 2026

PR needs rebase.

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.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant