Skip to content

OCPNETUI-56: Hot-cluster CI infrastructure and test fixes - #522

Merged
lkladnit merged 1 commit into
openshift:mainfrom
lkladnit:ocpnetui-56
Oct 21, 2026
Merged

lkladnit merged 1 commit into
openshift:mainfrom
lkladnit:ocpnetui-56

Conversation

@lkladnit

Copy link
Copy Markdown
Contributor

Summary

Adds hot-cluster CI infrastructure for running Cypress E2E tests on a persistent OpenShift cluster via GitHub Actions + ARC self-hosted runners. Also fixes login flow for no-auth mode and updates test suite for OCP 5.0.

What is included

  • GitHub Actions workflows: hot-cluster-e2e.yml (entry + health check) and hot-cluster-e2e-run.yml (build, provision, test, cleanup)
  • Composite actions: ci-env-request / ci-env-release
  • Dockerfile.ci with public UBI9 base images
  • Helm chart RBAC fix (cluster-admin for CI console SA)
  • Login flow: detect no-auth mode (bearer-token console) and skip OAuth
  • Visit-pages: wait for sidebar nav instead of quickstart IDs
  • Temporarily disabled 11 tests needing selector updates for OCP 5.0

FIPS cluster support

  • OPENSSL_FORCE_FIPS_MODE=0 for runner, GOLANG_FIPS=0 for oc CLI
  • Node.js + Xvfb + Cypress deps installed on runner

Cluster setup docs

See ui-tests-cy/CLUSTER.md for step-by-step RHOS cluster preparation.

Depends on #489, #490, #491, #497.

Jira: OCPNETUI-56

Made with Cursor

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 17, 2026
@openshift-ci-robot

openshift-ci-robot commented Sep 17, 2026 •

Copy link
Copy Markdown

@lkladnit: This pull request references OCPNETUI-56 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set.

Details

In response to this:

Summary

Adds hot-cluster CI infrastructure for running Cypress E2E tests on a persistent OpenShift cluster via GitHub Actions + ARC self-hosted runners. Also fixes login flow for no-auth mode and updates test suite for OCP 5.0.

What is included

  • GitHub Actions workflows: hot-cluster-e2e.yml (entry + health check) and hot-cluster-e2e-run.yml (build, provision, test, cleanup)
  • Composite actions: ci-env-request / ci-env-release
  • Dockerfile.ci with public UBI9 base images
  • Helm chart RBAC fix (cluster-admin for CI console SA)
  • Login flow: detect no-auth mode (bearer-token console) and skip OAuth
  • Visit-pages: wait for sidebar nav instead of quickstart IDs
  • Temporarily disabled 11 tests needing selector updates for OCP 5.0

FIPS cluster support

  • OPENSSL_FORCE_FIPS_MODE=0 for runner, GOLANG_FIPS=0 for oc CLI
  • Node.js + Xvfb + Cypress deps installed on runner

Cluster setup docs

See ui-tests-cy/CLUSTER.md for step-by-step RHOS cluster preparation.

Depends on #489, #490, #491, #497.

Jira: OCPNETUI-56

Made with Cursor

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.

@coderabbitai

coderabbitai Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: eb436f94-896d-465e-a5a1-0bbb9978b658

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

@openshift-ci

openshift-ci Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lkladnit

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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 17, 2026
@lkladnit
lkladnit force-pushed the ocpnetui-56 branch 6 times, most recently from 3cbb726 to 1868fec Compare September 17, 2026 11:17
@rszwajko
rszwajko requested review from rszwajko and sjd78 September 17, 2026 12:59
@lkladnit lkladnit self-assigned this Sep 17, 2026
@lkladnit

Copy link
Copy Markdown
Contributor Author

/retest

@lkladnit
lkladnit force-pushed the ocpnetui-56 branch 3 times, most recently from f4153c7 to 24db7dd Compare September 28, 2026 09:40
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 6, 2026
Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 7, 2026
Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Co-authored-by: Cursor <cursoragent@cursor.com>
@lkladnit
lkladnit force-pushed the ocpnetui-56 branch 2 times, most recently from c9fa2a4 to 6aaadb0 Compare October 8, 2026 13:46
@lkladnit
lkladnit force-pushed the ocpnetui-56 branch 2 times, most recently from 22ac337 to 321751b Compare October 20, 2026 08:04
@lkladnit

Copy link
Copy Markdown
Contributor Author

/test lint

Skip Cypress E2E when CONSOLE_URL is unset so forks without the secret
do not fail. Also include related hot-cluster CI hardening and docs
updates carried on this branch.

Fix invalid workflow: secrets cannot be used in jobs.<id>.if
(GitHub Actions context restriction). Gate with a first step that
sets an output instead of a job-level secrets comparison.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 20, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 20, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56
Co-authored-by: Cursor <cursoragent@cursor.com>
@openshift-ci

openshift-ci Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@lkladnit: all tests passed!

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.

lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 20, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 20, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56
Co-authored-by: Cursor <cursoragent@cursor.com>
@lkladnit
lkladnit merged commit abb898c into openshift:main Oct 21, 2026
5 of 8 checks passed
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 21, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 21, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56
Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release
- Add Dockerfile.ci-env-controller with oc, helm, and the test-stack chart

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release
- Add Dockerfile.ci-env-controller with oc, helm, and the test-stack chart

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release
- Add Dockerfile.ci-env-controller with oc, helm, and the test-stack chart

Install the Cypress binary in the E2E job
- Unset CYPRESS_INSTALL_BINARY before npx cypress install. The runner
  image sets it to 0, which skipped the browser binary download.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release
- Add Dockerfile.ci-env-controller with oc, helm, and the test-stack chart

Install the Cypress binary in the E2E job
- Unset CYPRESS_INSTALL_BINARY before npx cypress install. The runner
  image sets it to 0, which skipped the browser binary download.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 22, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc) v4.14+
- Helm v3.14+
- Node.js v18.x
- npm (latest)
- Cypress (latest)
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Image can be pushed to:
- ttl.sh (temporary, 1-24 hours)
- Docker Hub (permanent, requires account)
- Quay.io (enterprise, Red Hat)

Workflow supports manual trigger via workflow_dispatch with custom registry/image/tag parameters.
Image is automatically rebuilt on changes to Dockerfile or documentation.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release
- Add Dockerfile.ci-env-controller with oc, helm, and the test-stack chart

Install the Cypress binary in the E2E job
- Unset CYPRESS_INSTALL_BINARY before npx cypress install. The runner
  image sets it to 0, which skipped the browser binary download.

Format the screenshot rename hook
- Prettier-format ui-tests-cy/plugins/index.ts so ci/prow/lint passes.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 25, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc), Helm, Node.js, npm, and Cypress
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Publish the runner image to the team Quay org
(quay.io/openshift/networking-console-plugin-arc-runner:v1), not ttl.sh
and not a personal account.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release

Install the Cypress binary in the E2E job
- Unset CYPRESS_INSTALL_BINARY before npx cypress install. The runner
  image sets it to 0, which skipped the browser binary download.

Format the screenshot rename hook
- Prettier-format ui-tests-cy/plugins/index.ts so ci/prow/lint passes.

Address review on PR 580
- Drop unused yarn.lock and coverage ignores from eslint.config.mjs
- Pin the runner base image, oc 4.22.18, Helm 3.16.4, Node.js 22.21.0,
  and Cypress 15.21.1, and check oc, Helm, and Node downloads by sha256
- Remove Dockerfile.ci-env-controller from this PR

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 26, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc), Helm, Node.js, npm, and Cypress
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Publish the runner image to the team Quay org
(quay.io/openshift/networking-console-plugin-arc-runner:v1), not ttl.sh
and not a personal account.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release

Install the Cypress binary in the E2E job
- Unset CYPRESS_INSTALL_BINARY before npx cypress install. The runner
  image sets it to 0, which skipped the browser binary download.

Format the screenshot rename hook
- Prettier-format ui-tests-cy/plugins/index.ts so ci/prow/lint passes.

Address review on PR 580
- Drop unused yarn.lock and coverage ignores from eslint.config.mjs
- Pin the runner base image, oc 4.22.18, Helm 3.16.4, Node.js 22.21.0,
  and Cypress 15.21.1, and check oc, Helm, and Node downloads by sha256
- Remove Dockerfile.ci-env-controller from this PR

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 26, 2026
Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Fix ci/prow/lint timeout
- Remove accidentally committed ui-tests-cy/ci-hot-cluster-e2e/ CI artifacts
  (screenshots, app.js, HTML reports) that caused eslint to hang for 2h
- Ignore ui-tests-cy/ci-hot-cluster-e2e/ and gui-test-screenshots in
  .gitignore and .eslintignore

Custom Docker image for Actions Runner Controller (ARC) with:
- OpenShift CLI (oc), Helm, Node.js, npm, and Cypress
- System dependencies (Xvfb, fonts, browsers, jq, curl, git)

Benefits:
- 2-3x faster job startup (no tool installation during CI)
- Improved reproducibility (all jobs use identical versions)
- Reduced network traffic (~200MB → ~5MB per job)
- Better security (curated, tested base image)

Files added:
- ci-scripts/Dockerfile.arc-runner: Multi-stage build for custom image
- ci-scripts/ARC-RUNNER-IMAGE.md: Comprehensive guide for building, pushing, and using the image
- ci-scripts/runnerscaleset-custom-image.yaml: Example RunnerScaleSet configuration
- .github/workflows/build-arc-runner-image.yml: Automated CI/CD for image builds

Publish the runner image to the team Quay org
(quay.io/openshift/networking-console-plugin-arc-runner:v1), not ttl.sh
and not a personal account.

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522).

Fix ci-env-controller Helm install
- Bind the controller ServiceAccount to cluster-admin so it can grant
  cluster-admin to the per-test console ServiceAccount
- Point the test-stack runner RoleBinding at ClusterRole
  ci-env-controller-test-runner and the runner ServiceAccount namespace
  arc-runners, instead of a ClusterRole named after the per-run release

Install the Cypress binary in the E2E job
- Unset CYPRESS_INSTALL_BINARY before npx cypress install. The runner
  image sets it to 0, which skipped the browser binary download.

Format the screenshot rename hook
- Prettier-format ui-tests-cy/plugins/index.ts so ci/prow/lint passes.

Address review on PR 580
- Drop unused yarn.lock and coverage ignores from eslint.config.mjs
- Pin the runner base image, oc 4.22.18, Helm 3.16.4, Node.js 22.21.0,
  and Cypress 15.21.1, and check oc, Helm, and Node downloads by sha256
- Remove Dockerfile.ci-env-controller from this PR

Build the plugin image on UBI Node.js 22
- nodejs-18 cannot load webpack.config.ts (ERR_UNKNOWN_FILE_EXTENSION).
- Register ts-node for the webpack-cli process that reads the config.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56
Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Pass job-status from the workflow into collect-ci-diagnostics so
cluster-info runs after an E2E failure. Reapply the composite-action
calls on current main; cypress-io/github-action stays at v6.
log-runner-env follows the check-runner on main and does not gate on
oc client/server versions.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Pass job-status from the workflow into collect-ci-diagnostics so
cluster-info runs after an E2E failure. Reapply the composite-action
calls on current main; cypress-io/github-action stays at v6.
log-runner-env follows the check-runner on main and does not gate on
oc client/server versions.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Pass job-status from the workflow into collect-ci-diagnostics so
cluster-info runs after an E2E failure. Reapply the composite-action
calls on current main; cypress-io/github-action stays at v6.
log-runner-env follows the check-runner on main and does not gate on
oc client/server versions.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Pass job-status from the workflow into collect-ci-diagnostics so
cluster-info runs after an E2E failure. Reapply the composite-action
calls on current main; cypress-io/github-action stays at v6.
log-runner-env follows the check-runner on main and does not gate on
oc client/server versions.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Pass job-status from the workflow into collect-ci-diagnostics so
cluster-info runs after an E2E failure. Reapply the composite-action
calls on current main; cypress-io/github-action stays at v6.
log-runner-env follows the check-runner on main and does not gate on
oc client/server versions.

Co-authored-by: Cursor <cursoragent@cursor.com>
lkladnit added a commit to lkladnit/networking-console-plugin that referenced this pull request Oct 29, 2026
Extract repeated and self-contained steps from the hot-cluster E2E
run workflow into reusable GitHub Actions, as suggested on PR openshift#497.

- setup-kubeconfig: write kubeconfig from in-pod ServiceAccount token
- install-oc: download oc/kubectl when missing from PATH
- log-runner-env: tool availability and client/server versions
- build-plugin-image: skip-if-exists ttl.sh build and push
- setup-test-namespaces: create TEST_NS and UDN-labeled namespace
- collect-ci-diagnostics: pod logs, cluster dump, artifact upload

Depends on ci-scripts (openshift#489), ci-test-stack (openshift#490), ci-env-controller (openshift#491), lkladnit/hot-cluster-workflows (openshift#497), ocpnetui-56 (openshift#522), lkladnit/custom-arc-runner-image (openshift#580).

Jira: https://redhat.atlassian.net/browse/OCPNETUI-56

Pass job-status from the workflow into collect-ci-diagnostics so
cluster-info runs after an E2E failure. Reapply the composite-action
calls on current main; cypress-io/github-action stays at v6.
log-runner-env follows the check-runner on main and does not gate on
oc client/server versions.

fix(ci): push hot-cluster plugin image to existing Quay repo tags

Per-run Quay repository names fail with unauthorized on push; use
networking-console-plugin:ci-<run_id>-<attempt> instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
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/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants