From d95fa17e1ee429d5111b2715c6cb098d2fd66d38 Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Tue, 11 Aug 2026 19:34:29 +0530 Subject: [PATCH 1/8] Add required Prow lint, type-check, and unit-tests for odh-dashboard Tide only retests Prow contexts before merge. Quality gates lived only in GitHub Actions, so green PRs could still race and break main (RHOAIENG-3333). Add a Node 22 test image (nodejs-22-src) while keeping the golang build_root for product image builds, and required always-run container tests for lint, type-check, and unit-tests. Quality jobs use skip_cloning so ci-operator gets a full checkout instead of the Dockerfile-only sparse checkout used by image jobs. Co-authored-by: Cursor --- .../opendatahub-io-odh-dashboard-main.yaml | 52 ++++- ...ahub-io-odh-dashboard-main-presubmits.yaml | 189 ++++++++++++++++++ 2 files changed, 239 insertions(+), 2 deletions(-) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index 98fed134b341d..7749f63e762da 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -41,11 +41,25 @@ images: - context_dir: . dockerfile_path: ./dashboard-operator/Dockerfile to: odh-dashboard-operator-image + # Node 22 + repo source for lint/type-check/unit (keep golang build_root for image builds) + - dockerfile_literal: | + FROM registry.access.redhat.com/ubi9/nodejs-22:latest + USER root + RUN dnf install -y git && dnf clean all + WORKDIR /opt/app-root/src + COPY --from=src . . + USER 1001 + from: src + to: nodejs-22-src promotion: to: - - namespace: opendatahub-io + - excluded_images: + - nodejs-22-src + namespace: opendatahub-io tag: latest - - namespace: opendatahub-io + - excluded_images: + - nodejs-22-src + namespace: opendatahub-io tag: main releases: latest: @@ -58,7 +72,41 @@ resources: requests: cpu: 200m memory: 400Mi + lint: + requests: + cpu: "2" + memory: 8Gi + type-check: + requests: + cpu: "2" + memory: 8Gi + unit-tests: + requests: + cpu: "2" + memory: 8Gi + nodejs-22-src: + requests: + cpu: "1" + memory: 2Gi tests: +- as: lint + commands: | + npm ci + NODE_OPTIONS="--max-old-space-size=8192" npm run lint + container: + from: nodejs-22-src +- as: type-check + commands: | + npm ci + npm run type-check + container: + from: nodejs-22-src +- as: unit-tests + commands: | + npm ci + npm run test-unit + container: + from: nodejs-22-src - as: odh-dashboard-image-mirror postsubmit: true steps: diff --git a/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml b/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml index ca01af13ea749..248449bcdc50e 100644 --- a/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml +++ b/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml @@ -67,6 +67,69 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )images,?($|\s.*) + - agent: kubernetes + always_run: true + branches: + - ^main$ + - ^main- + cluster: build04 + context: ci/prow/lint + decorate: true + decoration_config: + skip_cloning: true + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-opendatahub-io-odh-dashboard-main-lint + rerun_command: /test lint + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=lint + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )lint,?($|\s.*) - agent: kubernetes always_run: false branches: @@ -1181,3 +1244,129 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )odh-mod-arch-notebooks-pr-image-mirror,?($|\s.*) + - agent: kubernetes + always_run: true + branches: + - ^main$ + - ^main- + cluster: build04 + context: ci/prow/type-check + decorate: true + decoration_config: + skip_cloning: true + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-opendatahub-io-odh-dashboard-main-type-check + rerun_command: /test type-check + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=type-check + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )type-check,?($|\s.*) + - agent: kubernetes + always_run: true + branches: + - ^main$ + - ^main- + cluster: build04 + context: ci/prow/unit-tests + decorate: true + decoration_config: + skip_cloning: true + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-opendatahub-io-odh-dashboard-main-unit-tests + rerun_command: /test unit-tests + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=unit-tests + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )unit-tests,?($|\s.*) From bfb3a3bcc67390f3ed21b85a92918aad494928b0 Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Thu, 13 Aug 2026 19:34:16 +0530 Subject: [PATCH 2/8] Address review: fix nodejs-22-src base and align npm install Drop from: src so the test image keeps the Node 22 base and COPY the repo context. Match odh-dashboard GHA install (npm@11.8.0 + install:modules). Regenerate presubmits with make update instead of hand-editing skip_cloning. Co-authored-by: Cursor --- .../opendatahub-io-odh-dashboard-main.yaml | 18 +++++---- ...ahub-io-odh-dashboard-main-presubmits.yaml | 39 +++++++++++++++++-- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index 7749f63e762da..4aecc0d5c9769 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -41,15 +41,13 @@ images: - context_dir: . dockerfile_path: ./dashboard-operator/Dockerfile to: odh-dashboard-operator-image - # Node 22 + repo source for lint/type-check/unit (keep golang build_root for image builds) - dockerfile_literal: | FROM registry.access.redhat.com/ubi9/nodejs-22:latest USER root RUN dnf install -y git && dnf clean all WORKDIR /opt/app-root/src - COPY --from=src . . + COPY . . USER 1001 - from: src to: nodejs-22-src promotion: to: @@ -76,6 +74,10 @@ resources: requests: cpu: "2" memory: 8Gi + nodejs-22-src: + requests: + cpu: "1" + memory: 2Gi type-check: requests: cpu: "2" @@ -84,26 +86,28 @@ resources: requests: cpu: "2" memory: 8Gi - nodejs-22-src: - requests: - cpu: "1" - memory: 2Gi tests: - as: lint commands: | + npm install -g npm@11.8.0 npm ci + npm run install:modules NODE_OPTIONS="--max-old-space-size=8192" npm run lint container: from: nodejs-22-src - as: type-check commands: | + npm install -g npm@11.8.0 npm ci + npm run install:modules npm run type-check container: from: nodejs-22-src - as: unit-tests commands: | + npm install -g npm@11.8.0 npm ci + npm run install:modules npm run test-unit container: from: nodejs-22-src diff --git a/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml b/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml index 248449bcdc50e..89686503e6eb4 100644 --- a/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml +++ b/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml @@ -76,7 +76,18 @@ presubmits: context: ci/prow/lint decorate: true decoration_config: - skip_cloning: true + sparse_checkout_files: + - Dockerfile + - dashboard-operator/Dockerfile + - distributions/core-bff/Dockerfile.workspace + - packages/agent-ops/Dockerfile.workspace + - packages/automl/Dockerfile.workspace + - packages/autorag/Dockerfile.workspace + - packages/eval-hub/Dockerfile.workspace + - packages/gen-ai/Dockerfile.workspace + - packages/maas/Dockerfile.workspace + - packages/mlflow/Dockerfile.workspace + - packages/model-registry/Dockerfile.workspace labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" @@ -1253,7 +1264,18 @@ presubmits: context: ci/prow/type-check decorate: true decoration_config: - skip_cloning: true + sparse_checkout_files: + - Dockerfile + - dashboard-operator/Dockerfile + - distributions/core-bff/Dockerfile.workspace + - packages/agent-ops/Dockerfile.workspace + - packages/automl/Dockerfile.workspace + - packages/autorag/Dockerfile.workspace + - packages/eval-hub/Dockerfile.workspace + - packages/gen-ai/Dockerfile.workspace + - packages/maas/Dockerfile.workspace + - packages/mlflow/Dockerfile.workspace + - packages/model-registry/Dockerfile.workspace labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" @@ -1316,7 +1338,18 @@ presubmits: context: ci/prow/unit-tests decorate: true decoration_config: - skip_cloning: true + sparse_checkout_files: + - Dockerfile + - dashboard-operator/Dockerfile + - distributions/core-bff/Dockerfile.workspace + - packages/agent-ops/Dockerfile.workspace + - packages/automl/Dockerfile.workspace + - packages/autorag/Dockerfile.workspace + - packages/eval-hub/Dockerfile.workspace + - packages/gen-ai/Dockerfile.workspace + - packages/maas/Dockerfile.workspace + - packages/mlflow/Dockerfile.workspace + - packages/model-registry/Dockerfile.workspace labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" From daba57c05ce9a1f75edfe7e865d99fcee4bc0e25 Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Tue, 18 Aug 2026 13:19:46 +0530 Subject: [PATCH 3/8] Fix nodejs-22-src COPY ownership for npm ci COPY as root left source owned by root; USER 1001 then failed chmod on package-subtree.sh during npm ci (pj-rehearse EPERM). Co-authored-by: Cursor --- .../odh-dashboard/opendatahub-io-odh-dashboard-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index 4aecc0d5c9769..097f2c09a4125 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -46,7 +46,7 @@ images: USER root RUN dnf install -y git && dnf clean all WORKDIR /opt/app-root/src - COPY . . + COPY --chown=1001:0 . . USER 1001 to: nodejs-22-src promotion: From 04bb61ca7628df7f84ddf9c46fda5c3d186d3771 Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Tue, 18 Aug 2026 13:40:18 +0530 Subject: [PATCH 4/8] Keep notebooks Dockerfile on generated quality jobs Rebase onto main picked up odh-mod-arch-notebooks. prowgen lists that Dockerfile on every job; lint/type-check/unit-tests were generated before it existed. Co-authored-by: Cursor --- .../opendatahub-io-odh-dashboard-main-presubmits.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml b/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml index 89686503e6eb4..a9814e94f2101 100644 --- a/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml +++ b/ci-operator/jobs/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main-presubmits.yaml @@ -88,6 +88,7 @@ presubmits: - packages/maas/Dockerfile.workspace - packages/mlflow/Dockerfile.workspace - packages/model-registry/Dockerfile.workspace + - packages/notebooks/Dockerfile.workspace labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" @@ -1276,6 +1277,7 @@ presubmits: - packages/maas/Dockerfile.workspace - packages/mlflow/Dockerfile.workspace - packages/model-registry/Dockerfile.workspace + - packages/notebooks/Dockerfile.workspace labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" @@ -1350,6 +1352,7 @@ presubmits: - packages/maas/Dockerfile.workspace - packages/mlflow/Dockerfile.workspace - packages/model-registry/Dockerfile.workspace + - packages/notebooks/Dockerfile.workspace labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" From 43307cb5e09a441967c51c73efb19d04ca48a750 Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Tue, 1 Sep 2026 15:16:23 +0530 Subject: [PATCH 5/8] Run npm quality jobs in a writable tmpdir OpenShift CI pods run as a random UID, so npm ci chmod on image-layer files owned by 1001 fails with EPERM. Copy the tree into mktemp so the test UID owns it. --no-bin-links is not viable because these jobs need package binaries. Co-authored-by: Cursor Signed-off-by: manaswinidas --- .../opendatahub-io-odh-dashboard-main.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index 097f2c09a4125..1906dea3bdd4a 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -89,6 +89,11 @@ resources: tests: - as: lint commands: | + set -euo pipefail + WORKDIR="$(mktemp -d)" + cp -R /opt/app-root/src/. "$WORKDIR/" + cd "$WORKDIR" + export HOME="$WORKDIR" npm install -g npm@11.8.0 npm ci npm run install:modules @@ -97,6 +102,11 @@ tests: from: nodejs-22-src - as: type-check commands: | + set -euo pipefail + WORKDIR="$(mktemp -d)" + cp -R /opt/app-root/src/. "$WORKDIR/" + cd "$WORKDIR" + export HOME="$WORKDIR" npm install -g npm@11.8.0 npm ci npm run install:modules @@ -105,6 +115,11 @@ tests: from: nodejs-22-src - as: unit-tests commands: | + set -euo pipefail + WORKDIR="$(mktemp -d)" + cp -R /opt/app-root/src/. "$WORKDIR/" + cd "$WORKDIR" + export HOME="$WORKDIR" npm install -g npm@11.8.0 npm ci npm run install:modules From 9e6a0cfd195886c9a5bf570b805a4dbbea6ef895 Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Tue, 1 Sep 2026 16:18:27 +0530 Subject: [PATCH 6/8] Clone dashboard source into quality test containers COPY . . applies odh-dashboard .dockerignore, which drops **/__tests__/ and **/__mocks__/. That made lint see an empty autox-core ui/src, type-check miss mock modules, and unit tests skip real suites. clone: true uses the src git tree instead, so tests match GitHub Actions and the test UID owns the files. Co-authored-by: Cursor Signed-off-by: manaswinidas --- .../opendatahub-io-odh-dashboard-main.yaml | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index 1906dea3bdd4a..8553ee17604c4 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -45,8 +45,6 @@ images: FROM registry.access.redhat.com/ubi9/nodejs-22:latest USER root RUN dnf install -y git && dnf clean all - WORKDIR /opt/app-root/src - COPY --chown=1001:0 . . USER 1001 to: nodejs-22-src promotion: @@ -90,41 +88,35 @@ tests: - as: lint commands: | set -euo pipefail - WORKDIR="$(mktemp -d)" - cp -R /opt/app-root/src/. "$WORKDIR/" - cd "$WORKDIR" - export HOME="$WORKDIR" + export HOME="$(pwd)" npm install -g npm@11.8.0 npm ci npm run install:modules NODE_OPTIONS="--max-old-space-size=8192" npm run lint container: + clone: true from: nodejs-22-src - as: type-check commands: | set -euo pipefail - WORKDIR="$(mktemp -d)" - cp -R /opt/app-root/src/. "$WORKDIR/" - cd "$WORKDIR" - export HOME="$WORKDIR" + export HOME="$(pwd)" npm install -g npm@11.8.0 npm ci npm run install:modules npm run type-check container: + clone: true from: nodejs-22-src - as: unit-tests commands: | set -euo pipefail - WORKDIR="$(mktemp -d)" - cp -R /opt/app-root/src/. "$WORKDIR/" - cd "$WORKDIR" - export HOME="$WORKDIR" + export HOME="$(pwd)" npm install -g npm@11.8.0 npm ci npm run install:modules npm run test-unit container: + clone: true from: nodejs-22-src - as: odh-dashboard-image-mirror postsubmit: true From 91b2bf662a87349d9d855fb1ccbb947b92bc142e Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Wed, 2 Sep 2026 19:30:16 +0530 Subject: [PATCH 7/8] Raise Jest timeout for odh-dashboard unit-tests PipelineRunTable compare-runs test flakes on Prow under load (5000ms default). Pass --testTimeout=15000 through turbo. Co-authored-by: Cursor Signed-off-by: manaswinidas --- .../odh-dashboard/opendatahub-io-odh-dashboard-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index 8553ee17604c4..aeeb8e3407fb9 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -114,7 +114,7 @@ tests: npm install -g npm@11.8.0 npm ci npm run install:modules - npm run test-unit + npm run test-unit -- -- --testTimeout=15000 container: clone: true from: nodejs-22-src From 962dd6d013213a6f9ed64bdc640452d94f3a69ae Mon Sep 17 00:00:00 2001 From: manaswinidas Date: Wed, 2 Sep 2026 22:18:36 +0530 Subject: [PATCH 8/8] Align odh-dashboard unit-tests with GHA coverage script GHA runs test-unit-coverage, which skips packages such as maas that only define test-unit. Prow was running test-unit and failing on maas duplicate-React errors in OverviewTable.spec.tsx. Co-authored-by: Cursor --- .../odh-dashboard/opendatahub-io-odh-dashboard-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml index aeeb8e3407fb9..56b7e4893fb86 100644 --- a/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml +++ b/ci-operator/config/opendatahub-io/odh-dashboard/opendatahub-io-odh-dashboard-main.yaml @@ -114,7 +114,7 @@ tests: npm install -g npm@11.8.0 npm ci npm run install:modules - npm run test-unit -- -- --testTimeout=15000 + npm run test-unit-coverage -- -- --testTimeout=15000 container: clone: true from: nodejs-22-src