Skip to content

feat: enable pluginDivisionMode schema tests for OCP Operator nightly jobs#4685

Open
Fortune-Ndlovu wants to merge 7 commits intoredhat-developer:mainfrom
Fortune-Ndlovu:RHIDP-13221-operator-add-test-for-plugin-division-mode-schema
Open

feat: enable pluginDivisionMode schema tests for OCP Operator nightly jobs#4685
Fortune-Ndlovu wants to merge 7 commits intoredhat-developer:mainfrom
Fortune-Ndlovu:RHIDP-13221-operator-add-test-for-plugin-division-mode-schema

Conversation

@Fortune-Ndlovu
Copy link
Copy Markdown
Member

Description

  • Enable pluginDivisionMode: schema E2E tests for OCP Operator deployments by wiring up the CI pipeline
    to deploy a real Crunchy PostgreSQL cluster and configure SCHEMA_MODE_* environment variables
  • Replace placeholder database secrets ("tmp"/"tmp") in the operator runtime namespace with real Crunchy
    PostgreSQL credentials via configure_external_postgres_db
  • Parameterize schema-mode-env.sh log messages to distinguish Helm vs Operator in CI output

Which issue(s) does this PR fix

PR acceptance criteria

Please make sure that the following steps are complete:

  • GitHub Actions are completed and successful
  • Unit Tests are updated and passing
  • E2E Tests are updated and passing
  • Documentation is updated if necessary (requirement for new features)
  • Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

Signed-off-by: Fortune-Ndlovu <fndlovu@redhat.com>
@rhdh-qodo-merge
Copy link
Copy Markdown

rhdh-qodo-merge Bot commented Apr 23, 2026

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0)

Context used

Grey Divider


Action required

1. Errexit breaks schema-mode skip 🐞 Bug ☼ Reliability
Description
configure_schema_mode_runtime_env runs an unguarded oc get pods inside command-substitution;
under the pipeline's set -o errexit this can terminate the entire job instead of returning 1 to
skip schema-mode tests. This becomes a real failure mode because ocp-operator.sh now invokes this
function during operator nightly runtime tests.
Code

.ci/pipelines/lib/schema-mode-env.sh[R73-76]

      postgres_service=$(oc get pods -n "${pdb}" \
        -l "postgres-operator.crunchydata.com/cluster=${crunchy_cluster},postgres-operator.crunchydata.com/data=postgres" \
        --field-selector=status.phase=Running \
        -o jsonpath='{.items[0].metadata.name}' 2> /dev/null)
Relevance

⭐⭐⭐ High

Repo often guards noncritical oc/kubectl failures under errexit (e.g., || true) to allow opt-in
skips.

PR-#4288
PR-#3835
PR-#2397

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The top-level CI entrypoint enables errexit, so a non-zero exit from the oc get pods command
substitution in configure_schema_mode_runtime_env will exit the script before the caller’s `if
...; then ... else ... fi can handle the failure as an opt-in skip. ocp-operator.sh` now calls
this function as part of operator runtime tests, making this crash path newly reachable in operator
nightly jobs.

.ci/pipelines/openshift-ci-tests.sh[1-6]
.ci/pipelines/jobs/ocp-operator.sh[87-114]
.ci/pipelines/lib/schema-mode-env.sh[60-85]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`configure_schema_mode_runtime_env` uses `postgres_service=$(oc get pods ...)` without `|| true` / error handling. With `set -o errexit` enabled by the CI entrypoint, any transient `oc` failure will abort the whole job instead of letting the function return non-zero (so schema-mode tests can skip).

### Issue Context
This function is now called from the operator nightly runtime test path, so the failure mode will affect operator jobs.

### Fix Focus Areas
- .ci/pipelines/lib/schema-mode-env.sh[60-85]

### Suggested fix
Wrap the `oc get pods` assignment in a non-fatal form, e.g.:
- `postgres_service=$(oc get pods ... 2>/dev/null || true)` and keep the existing empty-string check, **or**
- `if ! postgres_service=$(oc get pods ... 2>/dev/null); then postgres_service=""; fi`

Also consider applying the same pattern to any other command substitutions that are meant to be “best-effort/opt-in” under errexit.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Operator schema secret mismatch 🐞 Bug ≡ Correctness
Description
Operator schema-mode tests may not apply schema-mode credentials to the running Operator deployment
because the Playwright schema-mode setup always updates <release>-postgresql, while the Operator
runtime CR injects DB env vars from postgres-cred. Since the setup only adds missing env vars
(does not override existing ones), the Operator deployment can keep using postgres-cred values for
host/user/password, reducing test correctness/coverage or causing unexpected failures.
Code

.ci/pipelines/jobs/ocp-operator.sh[R105-112]

+  export INSTALL_METHOD=operator
+
+  # Configure schema-mode environment (opt-in: tests skip if env not configured)
+  if configure_schema_mode_runtime_env "${NAME_SPACE_RUNTIME}" "${RELEASE_NAME}" operator; then
+    log::info "Schema-mode environment configured successfully; schema-mode tests will run"
+  else
+    log::warn "Schema-mode environment not configured; schema-mode tests will skip (this is expected if PostgreSQL is not available)"
+  fi
Relevance

⭐⭐⭐ High

Team previously expanded schema-mode secret candidates to include postgres-cred; mismatch would
reduce coverage.

PR-#4288
PR-#2463
PR-#4649

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The operator runtime Backstage CR uses extraEnvs.secrets: postgres-cred to supply database env
vars. The schema-mode setup logic, however, updates a Helm-style secret name
${releaseName}-postgresql and only patches the Deployment when env vars are missing; it returns
early when vars already exist, meaning existing Operator-provided vars will not be redirected to the
schema-mode secret. Additionally, postgres-cred is explicitly created/populated by CI with
POSTGRES_HOST/USER/PASSWORD/..., making it likely these vars are already present and thus won’t be
overridden by schema-mode setup.

.ci/pipelines/jobs/ocp-operator.sh[103-112]
.ci/pipelines/resources/rhdh-operator/rhdh-start-runtime.yaml[27-43]
e2e-tests/playwright/e2e/plugin-division-mode-schema/schema-mode-setup.ts[46-176]
e2e-tests/playwright/e2e/plugin-division-mode-schema/schema-mode-setup.ts[178-214]
.ci/pipelines/utils.sh[202-226]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Schema-mode Playwright setup updates `${releaseName}-postgresql`, but the Operator deployment consumes DB env vars from `postgres-cred`. Because the setup only adds missing env vars (and does not override existing ones), Operator runs may continue using `postgres-cred` for key DB vars, making schema-mode operator coverage incorrect or flaky.

### Issue Context
This PR enables operator nightly schema-mode execution (`INSTALL_METHOD=operator` + schema-mode env auto-config). That makes this mismatch impactful for CI behavior.

### Fix Focus Areas
- e2e-tests/playwright/e2e/plugin-division-mode-schema/schema-mode-setup.ts[46-214]
- .ci/pipelines/resources/rhdh-operator/rhdh-start-runtime.yaml[27-43]

### Suggested fix options
**Option A (preferred):** In `SchemaModeTestSetup`, when `installMethod === "operator"`, update `postgres-cred` (using `POSTGRES_*` keys) instead of `${releaseName}-postgresql`, and ensure the deployment env vars point to `postgres-cred` (override if needed, not only add when missing).

**Option B:** Change the operator runtime CR to consume `${releaseName}-postgresql` instead of `postgres-cred` (so Helm and Operator converge on one secret name), and ensure CI creates/populates that secret consistently.

Either way, make sure the schema-mode user/password (`SCHEMA_MODE_DB_USER`/`SCHEMA_MODE_DB_PASSWORD`) are actually what the Operator deployment uses for DB connections during the test.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Previous review results

Review updated until commit 68dfd51

Results up to commit ec6a15d


🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0)


Action required
1. Errexit breaks schema-mode skip 🐞 Bug ☼ Reliability
Description
configure_schema_mode_runtime_env runs an unguarded oc get pods inside command-substitution;
under the pipeline's set -o errexit this can terminate the entire job instead of returning 1 to
skip schema-mode tests. This becomes a real failure mode because ocp-operator.sh now invokes this
function during operator nightly runtime tests.
Code

.ci/pipelines/lib/schema-mode-env.sh[R73-76]

      postgres_service=$(oc get pods -n "${pdb}" \
        -l "postgres-operator.crunchydata.com/cluster=${crunchy_cluster},postgres-operator.crunchydata.com/data=postgres" \
        --field-selector=status.phase=Running \
        -o jsonpath='{.items[0].metadata.name}' 2> /dev/null)
Relevance

⭐⭐⭐ High

Repo often guards noncritical oc/kubectl failures under errexit (e.g., || true) to allow opt-in
skips.

PR-#4288
PR-#3835
PR-#2397

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The top-level CI entrypoint enables errexit, so a non-zero exit from the oc get pods command
substitution in configure_schema_mode_runtime_env will exit the script before the caller’s `if
...; then ... else ... fi can handle the failure as an opt-in skip. ocp-operator.sh` now calls
this function as part of operator runtime tests, making this crash path newly reachable in operator
nightly jobs.

.ci/pipelines/openshift-ci-tests.sh[1-6]
.ci/pipelines/jobs/ocp-operator.sh[87-114]
.ci/pipelines/lib/schema-mode-env.sh[60-85]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`configure_schema_mode_runtime_env` uses `postgres_service=$(oc get pods ...)` without `|| true` / error handling. With `set -o errexit` enabled by the CI entrypoint, any transient `oc` failure will abort the whole job instead of letting the function return non-zero (so schema-mode tests can skip).

### Issue Context
This function is now called from the operator nightly runtime test path, so the failure mode will affect operator jobs.

### Fix Focus Areas
- .ci/pipelines/lib/schema-mode-env.sh[60-85]

### Suggested fix
Wrap the `oc get pods` assignment in a non-fatal form, e.g.:
- `postgres_service=$(oc get pods ... 2>/dev/null || true)` and keep the existing empty-string check, **or**
- `if ! postgres_service=$(oc get pods ... 2>/dev/null); then postgres_service=""; fi`

Also consider applying the same pattern to any other command substitutions that are meant to be “best-effort/opt-in” under errexit.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended
2. Operator schema secret mismatch 🐞 Bug ≡ Correctness
Description
Operator schema-mode tests may not apply schema-mode credentials to the running Operator deployment
because the Playwright schema-mode setup always updates <release>-postgresql, while the Operator
runtime CR injects DB env vars from postgres-cred. Since the setup only adds missing env vars
(does not override existing ones), the Operator deployment can keep using postgres-cred values for
host/user/password, reducing test correctness/coverage or causing unexpected failures.
Code

.ci/pipelines/jobs/ocp-operator.sh[R105-112]

+  export INSTALL_METHOD=operator
+
+  # Configure schema-mode environment (opt-in: tests skip if env not configured)
+  if configure_schema_mode_runtime_env "${NAME_SPACE_RUNTIME}" "${RELEASE_NAME}" operator; then
+    log::info "Schema-mode environment configured successfully; schema-mode tests will run"
+  else
+    log::warn "Schema-mode environment not configured; schema-mode tests will skip (this is expected if PostgreSQL is not available)"
+  fi
Relevance

⭐⭐⭐ High

Team previously expanded schema-mode secret candidates to include postgres-cred; mismatch would
reduce coverage.

PR-#4288
PR-#2463
PR-#4649

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The operator runtime Backstage CR uses extraEnvs.secrets: postgres-cred to supply database env
vars. The schema-mode setup logic, however, updates a Helm-style secret name
${releaseName}-postgresql and only patches the Deployment when env vars are missing; it returns
early when vars already exist, meaning existing Operator-provided vars will not be redirected to the
schema-mode secret. Additionally, postgres-cred is explicitly created/populated by CI with
POSTGRES_HOST/USER/PASSWORD/..., making it likely these vars are already present and thus won’t be
overridden by schema-mode setup.

.ci/pipelines/jobs/ocp-operator.sh[103-112]
.ci/pipelines/resources/rhdh-operator/rhdh-start-runtime.yaml[27-43]
e2e-tests/playwright/e2e/plugin-division-mode-schema/schema-mode-setup.ts[46-176]
e2e-tests/playwright/e2e/plugin-division-mode-schema/schema-mode-setup.ts[178-214]
.ci/pipelines/utils.sh[202-226]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Schema-mode Playwright setup updates `${releaseName}-postgresql`, but the Operator deployment consumes DB env vars from `postgres-cred`. Because the setup only adds missing env vars (and does not override existing ones), Operator runs may continue using `postgres-cred` for key DB vars, making schema-mode operator coverage incorrect or flaky.

### Issue Context
This PR enables operator nightly schema-mode execution (`INSTALL_METHOD=operator` + schema-mode env auto-config). That makes this mismatch impactful for CI behavior.

### Fix Focus Areas
- e2e-tests/playwright/e2e/plugin-division-mode-schema/schema-mode-setup.ts[46-214]
- .ci/pipelines/resources/rhdh-operator/rhdh-start-runtime.yaml[27-43]

### Suggested fix options
**Option A (preferred):** In `SchemaModeTestSetup`, when `installMethod === "operator"`, update `postgres-cred` (using `POSTGRES_*` keys) instead of `${releaseName}-postgresql`, and ensure the deployment env vars point to `postgres-cred` (override if needed, not only add when missing).

**Option B:** Change the operator runtime CR to consume `${releaseName}-postgresql` instead of `postgres-cred` (so Helm and Operator converge on one secret name), and ensure CI creates/populates that secret consistently.

Either way, make sure the schema-mode user/password (`SCHEMA_MODE_DB_USER`/`SCHEMA_MODE_DB_PASSWORD`) are actually what the Operator deployment uses for DB connections during the test.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Qodo Logo

@github-actions
Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm-nightly

@rhdh-qodo-merge
Copy link
Copy Markdown

rhdh-qodo-merge Bot commented Apr 23, 2026

Review Summary by Qodo

Enable schema-mode E2E tests for OCP Operator deployments

✨ Enhancement 🧪 Tests

Grey Divider

Walkthroughs

Description
• Enable pluginDivisionMode schema E2E tests for OCP Operator nightly jobs
• Deploy real Crunchy PostgreSQL cluster and configure schema-mode environment variables
• Replace placeholder database secrets with real credentials via configure_external_postgres_db
• Parameterize schema-mode log messages to distinguish Helm vs Operator deployments
Diagram
flowchart LR
  A["OCP Operator Pipeline"] -->|"source schema-mode-env.sh"| B["Schema Mode Configuration"]
  C["External PostgreSQL<br/>Crunchy Cluster"] -->|"configure_external_postgres_db"| D["Real DB Credentials"]
  D -->|"patch postgres-cred secret"| E["Runtime Namespace"]
  B -->|"configure_schema_mode_runtime_env<br/>with install_method=operator"| F["Schema-Mode Tests"]
  E -->|"SCHEMA_MODE_* env vars"| F
Loading

Grey Divider

File Changes

1. .ci/pipelines/jobs/ocp-operator.sh ✨ Enhancement +24/-4

Wire up schema-mode tests for operator deployments

• Source schema-mode-env.sh library for schema-mode configuration
• Deploy external PostgreSQL (Crunchy) cluster in dedicated namespace
• Replace placeholder secrets with real credentials from Crunchy cluster
• Patch postgres-cred secret with RHDH_RUNTIME_URL for app configuration
• Call configure_schema_mode_runtime_env with install_method=operator parameter
• Add NAME_SPACE_POSTGRES_DB namespace variable for external database

.ci/pipelines/jobs/ocp-operator.sh


2. .ci/pipelines/lib/schema-mode-env.sh ✨ Enhancement +7/-6

Parameterize log messages with install method

• Add install_method parameter (defaults to 'helm') to distinguish deployment types
• Replace hardcoded 'helm' strings in log messages with parameterized ${install_method} variable
• Update all schema-mode log messages (info, warn) to include install method context

.ci/pipelines/lib/schema-mode-env.sh


3. e2e-tests/playwright/e2e/plugin-division-mode-schema/README.md 📝 Documentation +2/-2

Update documentation for operator schema-mode test support

• Update CI behavior documentation to reflect schema-mode tests now run on OCP Operator nightly jobs
• Remove reference to [RHDHBUGS-2608](https://redhat.atlassian.net/browse/RHDHBUGS-2608) tracking disabled operator runtime tests
• Clarify pipeline entrypoint includes both Helm and Operator job paths

e2e-tests/playwright/e2e/plugin-division-mode-schema/README.md


Grey Divider

Qodo Logo

@github-actions
Copy link
Copy Markdown
Contributor

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

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@github-actions
Copy link
Copy Markdown
Contributor

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

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@github-actions
Copy link
Copy Markdown
Contributor

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

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm-nightly

@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/review

@rhdh-qodo-merge
Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

RHIDP-13221 - Partially compliant

Compliant requirements:

  • Enable schema-mode tests for Operator-based OCP nightly jobs
  • Wire CI pipeline to use a real Crunchy PostgreSQL cluster for schema-mode tests
  • Configure SCHEMA_MODE_* environment variables for schema-mode tests (opt-in/skip behavior preserved)

Non-compliant requirements:

  • Add/enable E2E test coverage for pluginDivisionMode: schema for Operator-based OCP deployments (nightly CI context).

Requires further human verification:

  • Add/enable E2E test coverage for pluginDivisionMode: schema for Operator-based OCP deployments (nightly CI context).
  • Wire CI pipeline to deploy/consume a real PostgreSQL instance (Crunchy PostgreSQL) for schema-mode tests.
  • Configure the necessary SCHEMA_MODE_* environment variables so schema-mode tests can run (and skip when not configured).
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 Security concerns

Potential secret exposure:
configure_schema_mode_runtime_env exports database admin credentials into environment variables (SCHEMA_MODE_DB_ADMIN_PASSWORD). While this is common for CI, ensure downstream logging (e.g., Playwright debug output, set -x, or any env dumps) does not print these values. Additionally, oc patch secret ... -p "{...${runtime_url}...}" is safe, but verify no commands echo secret contents to logs.

⚡ Recommended focus areas for review

Possible Issue

The oc patch secret postgres-cred assumes the secret already exists in the runtime namespace. If configure_external_postgres_db fails, is delayed, or uses a different secret name, this patch will fail and may break the operator runtime flow. Consider validating existence (or creating it) before patching and/or failing fast with a clearer error.

# Add RHDH_RUNTIME_URL to postgres-cred (configure_external_postgres_db doesn't include it,
# but rds-app-config.yaml references it for app/backend baseUrl)
local runtime_url="https://backstage-${RELEASE_NAME}-${NAME_SPACE_RUNTIME}.${K8S_CLUSTER_ROUTER_BASE}"
oc patch secret postgres-cred -n "${NAME_SPACE_RUNTIME}" --type merge \
  -p "{\"stringData\":{\"RHDH_RUNTIME_URL\":\"${runtime_url}\"}}"

deploy_rhdh_operator "${NAME_SPACE_RUNTIME}" "${DIR}/resources/rhdh-operator/rhdh-start-runtime.yaml" "true"

export INSTALL_METHOD=operator

# Configure schema-mode environment (opt-in: tests skip if env not configured)
if configure_schema_mode_runtime_env "${NAME_SPACE_RUNTIME}" "${RELEASE_NAME}" operator; then
  log::info "Schema-mode environment configured successfully; schema-mode tests will run"
else
  log::warn "Schema-mode environment not configured; schema-mode tests will skip (this is expected if PostgreSQL is not available)"
fi
Naming/Config Risk

Hard-coded/default resource names appear to use postgress-external-db / postgress-external-db-primary (note spelling). If the actual namespace/service/cluster name differs (or is spelled postgres-*), schema-mode auto-configuration will silently opt out and tests will skip. Consider aligning defaults with the real Crunchy deployment naming and/or making the service name configurable via env.

local pdb="${NAME_SPACE_POSTGRES_DB:-postgress-external-db}"
local crunchy_cluster="${SCHEMA_MODE_CRUNCHY_CLUSTER_NAME:-postgress-external-db}"
if oc get svc postgress-external-db-primary -n "${pdb}" &> /dev/null; then
  forward_namespace="${pdb}"
  log::info "Schema-mode (${install_method}): no in-cluster Postgres Service in ${runtime_namespace}; using Crunchy cluster in ${pdb}"
  local crunchy_admin_secret="${crunchy_cluster}-pguser-janus-idp"
  if oc get secret "${crunchy_admin_secret}" -n "${pdb}" &> /dev/null; then
    admin_password=$(oc get secret "${crunchy_admin_secret}" -n "${pdb}" -o jsonpath='{.data.password}' 2> /dev/null | base64 -d || true)
  fi
  if [[ -z "${admin_password}" ]]; then
    log::warn "Schema-mode (${install_method}): could not read ${crunchy_admin_secret} password in ${pdb}; schema tests remain opt-in."
    return 1
  fi
  postgres_service=$(oc get pods -n "${pdb}" \
    -l "postgres-operator.crunchydata.com/cluster=${crunchy_cluster},postgres-operator.crunchydata.com/data=postgres" \
    --field-selector=status.phase=Running \
    -o jsonpath='{.items[0].metadata.name}' 2> /dev/null)
  if [[ -z "${postgres_service}" ]]; then
    log::warn "Schema-mode (${install_method}): no Running Postgres pod in ${pdb} for cluster ${crunchy_cluster}; schema tests remain opt-in."
    return 1
  fi
  forward_via_pod=1
else
  log::warn "Schema-mode (${install_method}): PostgreSQL service not found in ${runtime_namespace} and no postgress-external-db-primary in ${pdb}; schema tests remain opt-in."
  return 1
fi
CI Reliability

testing::run_tests ... || true will mask failures (including schema-mode tests) and could undermine the goal of “enable tests” in nightly. If the intent is to keep the pipeline green, consider limiting the ignore-failure behavior or ensuring schema-mode failures are surfaced in a dedicated step/report.

  testing::run_tests "${RELEASE_NAME}" "${NAME_SPACE_RUNTIME}" "${PW_PROJECT_SHOWCASE_RUNTIME}" "${runtime_url}" || true
}
📄 References
  1. No matching references available

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/agentic_review

@rhdh-qodo-merge
Copy link
Copy Markdown

rhdh-qodo-merge Bot commented Apr 27, 2026

Persistent review updated to latest commit 68dfd51

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm

@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/retest

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

1 similar comment
@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown
Contributor

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

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@4fa32ab). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4685   +/-   ##
=======================================
  Coverage        ?   69.56%           
=======================================
  Files           ?      109           
  Lines           ?     4705           
  Branches        ?      535           
=======================================
  Hits            ?     3273           
  Misses          ?     1432           
  Partials        ?        0           
Flag Coverage Δ
install-dynamic-plugins 92.44% <ø> (?)
rhdh 38.75% <ø> (?)

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 4fa32ab...d8a114c. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm

1 similar comment
@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-helm

@Fortune-Ndlovu
Copy link
Copy Markdown
Member Author

/test e2e-ocp-operator-nightly

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 28, 2026

@Fortune-Ndlovu: 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/e2e-ocp-helm d8a114c link true /test e2e-ocp-helm
ci/prow/e2e-ocp-operator-nightly d8a114c 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.

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.

2 participants