fix(ci): deploy showcase-runtime with internal DB and fix test ordering#4809
fix(ci): deploy showcase-runtime with internal DB and fix test ordering#4809zdrapela wants to merge 2 commits into
Conversation
|
Skipping CI for Draft Pull Request. |
|
/review |
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-v4-18-helm-nightly |
PR Reviewer Guide 🔍Warning
Here are some key observations to aid the review process:
|
|
/agentic_review |
Code Review by Qodo
1. Duplicate plugin disable entries
|
|
/test e2e-ocp-helm-nightly |
4ec83ad to
d383484
Compare
|
The container image build workflow finished with status: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4809 +/- ##
===========================================
+ Coverage 41.09% 69.60% +28.51%
===========================================
Files 118 111 -7
Lines 2217 4702 +2485
Branches 563 513 -50
===========================================
+ Hits 911 3273 +2362
- Misses 1301 1429 +128
+ Partials 5 0 -5
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
d383484 to
af1c911
Compare
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-helm-nightly |
|
The container image build workflow finished with status: |
|
/retest |
|
/test e2e-ocp-operator-nightly |
af1c911 to
91c4806
Compare
|
/test e2e-ocp-helm-nightly |
91c4806 to
ce2f25e
Compare
|
/test e2e-ocp-helm-nightly |
1ac8a0c to
57931fb
Compare
|
/test e2e-ocp-helm-nightly |
57931fb to
1be8d8a
Compare
|
/test e2e-ocp-helm-nightly |
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-operator-nightly |
1be8d8a to
dbba412
Compare
|
/test e2e-ocp-operator-nightly |
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
dbba412 to
699ad7e
Compare
|
/test e2e-ocp-operator-nightly |
Make schema-mode (pluginDivisionMode: schema) tests work on operator deployments using the internal operator-managed PostgreSQL. Changes: - schema-mode-setup.ts: skip ensureDeploymentEnvVars() for operator (operator injects env vars via envFrom from managed secret, direct Deployment patches would be reverted by reconciliation) - schema-mode-setup.ts: preserve POSTGRESQL_ADMIN_PASSWORD when updating the operator-managed secret (PostgreSQL image needs it on startup) - schema-mode-setup.ts: add restart retry logic (3 attempts, 30s delay) to handle transient operator reconciliation failures - verify-schema-mode.spec.ts: use isOperatorDeployment() from helper.ts instead of INSTALL_METHOD env var for install method detection - verify-schema-mode.spec.ts: increase test.setTimeout to 600000ms (operator restarts are slower due to reconciliation) - schema-mode-env.sh: accept 3rd parameter install_method, use in log messages for better debugging - ocp-operator.sh: pass 'operator' as 3rd arg to configure_schema_mode_runtime_env Assisted-by: OpenCode
|
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-v4.18-helm-nightly |
|
/test e2e-ocp-helm-nightly |
|
@zdrapela: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
PR needs rebase. DetailsInstructions 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. |



Summary
Problem
In CI,
showcase-runtimetests (config-map, schema-mode) were always skipped becauseshowcase-runtime-db(external DB tests) had failures that blocked the dependentshowcase-runtimeproject via Playwright dependencies. The dependency direction was wrong.Changes
CI pipeline:
showcase-runtimeruns first,showcase-runtime-dbdepends on itvalues-showcase-runtime.yaml) withpostgresql.enabled=true(internal DB)rhdh-start-runtime-local.yaml) with internal DB,flavours: []to disable lightspeed sidecarapp-config-rhdh-runtime.yaml) withoutbackend.databaserhdh-runtime-configsecret forRHDH_RUNTIME_URL(avoidsPOSTGRES_*env var conflicts with internal DB)initiate_runtime_deployment()functionE2E tests:
prepareForExternalDatabase()to switch from internal to external DB at runtime (patches ConfigMap + adds env vars via JSON patch)waitForRuntimeDeploymentReady()utility for reusecheckPodFailureStates()to treat ephemeral volume PVC provisioning as transient (not fatal)Verification
Tested on OCP cluster with both deployment methods: