Skip to content

CLID-577: Onboard openshift/mirror-gui to Prow CI#77766

Merged
openshift-merge-bot[bot] merged 6 commits intoopenshift:mainfrom
aguidirh:onboard-mirror-gui
Apr 20, 2026
Merged

CLID-577: Onboard openshift/mirror-gui to Prow CI#77766
openshift-merge-bot[bot] merged 6 commits intoopenshift:mainfrom
aguidirh:onboard-mirror-gui

Conversation

@aguidirh
Copy link
Copy Markdown
Contributor

@aguidirh aguidirh commented Apr 14, 2026

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
    • lint: Runs npm run lint to check code quality
    • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

Summary by CodeRabbit

  • Chores
    • Added CI configuration to build the project image, run a binary build step, apply resource limits, and promote releases (including a "latest" integration).
    • Added presubmit and postsubmit jobs to run image builds and tests (lint, unit, audit-catalog, catalog-integrity) with selective triggering and concurrency controls.
    • Added Prow plugin and Tide rules to require approvals/LGTM and added OWNERS entries for approvers/reviewers.

Add CI configuration for the mirror-gui repository with container
image builds and test jobs for linting and unit tests.

Signed-off-by: Alex Guidi <aguidi@redhat.com>
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 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 sub-task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
  • lint: Runs npm run lint to check code quality
  • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 14, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 14, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 14, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds CI and Prow configuration for the openshift/mirror-gui repository: a ci-operator manifest, presubmit and postsubmit jobs, Tide and plugin configs, and OWNERS files for CI paths.

Changes

Cohort / File(s) Summary
CI Operator Config
ci-operator/config/openshift/mirror-gui/openshift-mirror-gui-main.yaml
New ci-operator manifest: repository-based build root, image build (mirror-gui), release promotion (ocp v5.0) and integrations (initial, latest), global resource requests/limits, binary build/test command, generated metadata.
Presubmit Jobs
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml
Adds presubmits for audit-catalog, catalog-integrity, images, lint, unit with triggers/retry commands, skip_if_only_changed patterns, mounted secrets, serviceAccount ci-operator, and ci-operator target flags.
Postsubmit Job
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml
Adds postsubmit job branch-ci-openshift-mirror-gui-main-images to build/import/mirror/push images and promote; runs on build01, uses ci-operator container, mounts GCS/manifest-tool/registry/result secrets, concurrency 1.
Prow Configs
core-services/prow/02_config/openshift/mirror-gui/_pluginconfig.yaml, core-services/prow/02_config/openshift/mirror-gui/_prowconfig.yaml
Adds repo plugin config enabling approve and lgtm; adds a Tide query requiring approved and lgtm and excluding specified missing labels.
OWNERS files
ci-operator/config/openshift/mirror-gui/OWNERS, ci-operator/jobs/openshift/mirror-gui/OWNERS
Adds OWNERS listing yakovbeder and aguidirh as approvers and reviewers for the new paths.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant GH as GitHub
  participant Prow as Prow (Hook/Tide)
  participant CI as ci-operator (build01)
  participant Reg as Container Registry
  participant GCS as GCS

  Dev->>GH: Push / open PR
  GH->>Prow: Webhook -> trigger presubmits
  Prow->>CI: Schedule presubmit jobs (lint/unit/audit/catalog-integrity/images)
  CI->>CI: Run test targets and build image
  alt Postsubmit image build & promote
    CI->>Reg: Push/mirror images (using secrets)
    CI->>GCS: Upload release artifacts/reports
  end
  Prow->>Prow: Tide evaluates merged PRs requiring `approved` + `lgtm`
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 10
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Stable And Deterministic Test Names ✅ Passed PR contains only YAML CI configuration files with Node.js/npm-based tests, no Go code or Ginkgo test definitions.
Test Structure And Quality ✅ Passed This PR adds CI/CD infrastructure files only; no Ginkgo test implementations present for review.
Microshift Test Compatibility ✅ Passed PR adds CI configuration for openshift/mirror-gui repository with npm-based JavaScript tests, not Ginkgo e2e tests.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds CI/CD configuration files (YAML) for mirror-gui repository with Node.js-based tests; no Ginkgo e2e tests are added.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds only CI/CD infrastructure configuration files (ci-operator build config, Prow job definitions, plugin/merge automation configs) for onboarding mirror-gui repository, not deployment manifests, operator code, or controllers that would introduce scheduling constraints.
Ote Binary Stdout Contract ✅ Passed PR adds only CI/CD configuration files (YAML and OWNERS) for mirror-gui repository onboarding; no Go source code files present.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR contains only CI/CD YAML configuration files with no Ginkgo e2e tests, so IPv6 and disconnected network check is not applicable.
Title check ✅ Passed The pull request title clearly and specifically describes the main change: onboarding the openshift/mirror-gui repository to Prow CI, which aligns with all the files added (CI operator config, job definitions, plugin and tide configurations).

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 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 sub-task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
  • lint: Runs npm run lint to check code quality
  • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

Summary by CodeRabbit

  • Chores
  • Configured CI/CD pipeline infrastructure for automated build, test, and merge workflows. Established continuous integration testing (lint and unit tests), image building and promotion, and automated merge controls with approval and review requirements.

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.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml (1)

58-58: Confirm lint/unit should be manual-only.

Both the lint and unit presubmit jobs have always_run: false (lines 58 and 120), making them manual-only—they won't run automatically on PRs and require /test lint or /test unit to trigger. The images job, by contrast, has always_run: true.

Since these tests are defined as non-optional in the ci-operator config (without optional: true), verify whether manual-only is the intended behavior. If they should block PRs by default, set always_run: true:

Suggested changes
-    always_run: false
+    always_run: true

(Apply to both line 58 and line 120)

Note: This appears to be a generated file (prowgen), so changes may need to be made in the source configuration.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml`
at line 58, The presubmit jobs for the lint and unit jobs are set to manual-only
(always_run: false) but their corresponding tests are non-optional in
ci-operator; update the presubmit job specs for the lint and unit presubmits
(the presubmit blocks named "lint" and "unit") to set always_run: true so they
run automatically on PRs, or if manual behavior is intended, mark the tests
optional in the ci-operator config; because this YAML is generated, make the
change in the source prowgen/ci-operator config that produces the lint and unit
presubmits rather than editing the generated file directly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@core-services/prow/02_config/openshift/mirror-gui/_pluginconfig.yaml`:
- Around line 10-13: The repo plugins list for openshift/mirror-gui only
includes "approve" but must also include "lgtm" to match the top-level lgtm
configuration and Tide requirements; update the plugins block under
"openshift/mirror-gui" to add "lgtm" alongside "approve" so the repo-level
plugins array contains both "approve" and "lgtm" (ensure the "plugins:" entry
for openshift/mirror-gui includes the "lgtm" item to align with the lgtm:
setting referenced in _prowconfig.yaml).

---

Nitpick comments:
In
`@ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml`:
- Line 58: The presubmit jobs for the lint and unit jobs are set to manual-only
(always_run: false) but their corresponding tests are non-optional in
ci-operator; update the presubmit job specs for the lint and unit presubmits
(the presubmit blocks named "lint" and "unit") to set always_run: true so they
run automatically on PRs, or if manual behavior is intended, mark the tests
optional in the ci-operator config; because this YAML is generated, make the
change in the source prowgen/ci-operator config that produces the lint and unit
presubmits rather than editing the generated file directly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 15f025f0-8be7-401a-b28d-39cf454f0fc2

📥 Commits

Reviewing files that changed from the base of the PR and between a07e983 and ce84659.

📒 Files selected for processing (5)
  • ci-operator/config/openshift/mirror-gui/openshift-mirror-gui-main.yaml
  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml
  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml
  • core-services/prow/02_config/openshift/mirror-gui/_pluginconfig.yaml
  • core-services/prow/02_config/openshift/mirror-gui/_prowconfig.yaml

@openshift-ci openshift-ci Bot requested review from hector-vido and jmguzik April 14, 2026 10:24
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 14, 2026
- Add OWNERS files to config and jobs directories (fixes ci/prow/owners)
- Replace test_binary_build_commands (container-run.sh fails in CI pods)
  with npm ci && npm run build to create pipeline:test-bin image
- Switch all tests to from: test-bin (npm ci runs once, not per-test)
- Add audit-catalog and catalog-integrity test jobs
- Regenerate presubmit job definitions

Made-with: Cursor
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 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 sub-task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
  • lint: Runs npm run lint to check code quality
  • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

Summary by CodeRabbit

  • Chores
  • Added CI/CD configuration to enable automated image builds, release promotion, and inclusion of built images.
  • Added automated test jobs (lint, unit, audit-catalog, catalog-integrity) and presubmit/postsubmit jobs to run/trigger those pipelines.
  • Added Prow plugin and Tide rules to enforce approvals/LGTM and OWNERS configuration to manage repo reviewers.

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.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml (1)

181-304: Consider auto-running lint and unit on PRs.

Line 182 and Line 244 currently disable automatic execution for core quality checks. If you intend baseline PR gating, set these to always_run: true and keep skip_if_only_changed to avoid docs-only noise.

Proposed change
-  - agent: kubernetes
-    always_run: false
+  - agent: kubernetes
+    always_run: true
@@
-  - agent: kubernetes
-    always_run: false
+  - agent: kubernetes
+    always_run: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml`
around lines 181 - 304, The lint and unit presubmit jobs (names
pull-ci-openshift-mirror-gui-main-lint and
pull-ci-openshift-mirror-gui-main-unit) currently have always_run: false; change
both to always_run: true so these checks run automatically on PRs while keeping
the existing skip_if_only_changed pattern to avoid docs-only noise; no other job
fields need modification.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml`:
- Around line 181-304: The lint and unit presubmit jobs (names
pull-ci-openshift-mirror-gui-main-lint and
pull-ci-openshift-mirror-gui-main-unit) currently have always_run: false; change
both to always_run: true so these checks run automatically on PRs while keeping
the existing skip_if_only_changed pattern to avoid docs-only noise; no other job
fields need modification.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 17275617-57be-4293-8e8e-7aff8b17b0b0

📥 Commits

Reviewing files that changed from the base of the PR and between ce84659 and da64d0a.

📒 Files selected for processing (4)
  • ci-operator/config/openshift/mirror-gui/OWNERS
  • ci-operator/config/openshift/mirror-gui/openshift-mirror-gui-main.yaml
  • ci-operator/jobs/openshift/mirror-gui/OWNERS
  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml
✅ Files skipped from review due to trivial changes (2)
  • ci-operator/jobs/openshift/mirror-gui/OWNERS
  • ci-operator/config/openshift/mirror-gui/OWNERS
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/config/openshift/mirror-gui/openshift-mirror-gui-main.yaml

@aguidirh
Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 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 sub-task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

/jira refresh

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.

@aguidirh
Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 which is a valid jira issue.

Details

In response to this:

/jira refresh

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.

@aguidirh
Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

The lgtm plugin is configured at the top level but was missing from the
repo plugins list, which would prevent the /lgtm command from working on
openshift/mirror-gui PRs. Tide requires the lgtm label for merge.

Made-with: Cursor
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 which is a valid jira issue.

Details

In response to this:

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
  • lint: Runs npm run lint to check code quality
  • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

Summary by CodeRabbit

  • Chores
  • Added CI configuration to build images, run a binary build test, and promote releases (including a "latest" integration).
  • Added presubmit and postsubmit jobs to run/trigger image builds and tests (lint, unit, audit-catalog, catalog-integrity).
  • Added Prow plugin and Tide rules to require approvals/LGTM and added OWNERS entries to manage approvers/reviewers.

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.

The lgtm plugin is already enabled at the openshift org level. Adding it
to the repo-specific plugins list causes a "duplicated plugin" error in
Prow config validation.

Made-with: Cursor
@aguidirh
Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

The previous from_repository configuration expected a repo-local
.ci-operator.yaml with an imagestream reference, which does not match our
Dockerfile-based build root setup. Switch to the documented project_image
mode so ci-operator builds the root image from
.ci-operator/build-root/Dockerfile.

Made-with: Cursor
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@aguidirh: This pull request references CLID-577 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 sub-task to target either version "5.0." or "openshift-5.0.", but it targets "openshift-4.22" instead.

Details

In response to this:

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
  • lint: Runs npm run lint to check code quality
  • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

Summary by CodeRabbit

  • Chores
  • Added CI configuration to build the project image, run a binary build step, apply resource limits, and promote releases (including a "latest" integration).
  • Added presubmit and postsubmit jobs to run image builds and tests (lint, unit, audit-catalog, catalog-integrity) with selective triggering and concurrency controls.
  • Added Prow plugin and Tide rules to require approvals/LGTM and added OWNERS entries for approvers/reviewers.

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.

@aguidirh
Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Adds decoration_config.skip_cloning: true to all mirror-gui jobs,
required when build_root uses project_image mode.

Made-with: Cursor
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@aguidirh: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-mirror-gui-main-audit-catalog openshift/mirror-gui presubmit Presubmit changed
pull-ci-openshift-mirror-gui-main-catalog-integrity openshift/mirror-gui presubmit Presubmit changed
pull-ci-openshift-mirror-gui-main-images openshift/mirror-gui presubmit Presubmit changed
pull-ci-openshift-mirror-gui-main-lint openshift/mirror-gui presubmit Presubmit changed
pull-ci-openshift-mirror-gui-main-unit openshift/mirror-gui presubmit Presubmit changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@yakovbeder
Copy link
Copy Markdown
Contributor

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@yakovbeder: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@aguidirh
Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@aguidirh
Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 20, 2026

@aguidirh: This pull request references CLID-577 which is a valid jira issue.

Details

In response to this:

/jira refresh

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.

@aguidirh aguidirh changed the title WIP: CLID-577: Onboard openshift/mirror-gui to Prow CI CLID-577: Onboard openshift/mirror-gui to Prow CI Apr 20, 2026
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 20, 2026
@aguidirh
Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@aguidirh
Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Apr 20, 2026
Copy link
Copy Markdown
Contributor

@r4f4 r4f4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 20, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 20, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aguidirh, r4f4

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

@aguidirh
Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 20, 2026

@aguidirh: 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.

@openshift-merge-bot openshift-merge-bot Bot merged commit 781325a into openshift:main Apr 20, 2026
25 checks passed
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 20, 2026

@aguidirh: Updated the following 3 configmaps:

  • plugins configmap in namespace ci at cluster app.ci using the following files:
    • key core-services-prow-02_config-openshift-mirror-gui-_pluginconfig.yaml using file core-services/prow/02_config/openshift/mirror-gui/_pluginconfig.yaml
  • config configmap in namespace ci at cluster app.ci using the following files:
    • key core-services-prow-02_config-openshift-mirror-gui-_prowconfig.yaml using file core-services/prow/02_config/openshift/mirror-gui/_prowconfig.yaml
  • config configmap in namespace ci at cluster core-ci using the following files:
    • key core-services-prow-02_config-openshift-mirror-gui-_prowconfig.yaml using file core-services/prow/02_config/openshift/mirror-gui/_prowconfig.yaml
Details

In response to this:

Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container image builds and test jobs.

Changes

  • Add ci-operator config for openshift/mirror-gui main branch
  • Configure container image builds from Dockerfile
  • Add test jobs:
  • lint: Runs npm run lint to check code quality
  • unit: Runs npm run build && npm run test for unit/integration tests
  • Configure image promotion to ocp/5.0 namespace
  • Add Prow plugin configuration (approve/lgtm)
  • Add Tide merge automation

Test Configuration

  • Uses build_root: from_repository: true for Node.js/TypeScript environment
  • Tests skip when only docs/markdown files are changed
  • Includes test_binary_build_commands for test artifact preparation

Jobs Generated

Presubmit (PR) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml

Postsubmit (merge) jobs:

  • ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yaml

Summary by CodeRabbit

  • Chores
  • Added CI configuration to build the project image, run a binary build step, apply resource limits, and promote releases (including a "latest" integration).
  • Added presubmit and postsubmit jobs to run image builds and tests (lint, unit, audit-catalog, catalog-integrity) with selective triggering and concurrency controls.
  • Added Prow plugin and Tide rules to require approvals/LGTM and added OWNERS entries for approvers/reviewers.

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.

Prucek pushed a commit to Prucek/release that referenced this pull request Apr 29, 2026
* CLID-577: Onboard openshift/mirror-gui to Prow CI

Add CI configuration for the mirror-gui repository with container
image builds and test jobs for linting and unit tests.

Signed-off-by: Alex Guidi <aguidi@redhat.com>

* Fix ci-operator config: add OWNERS, catalog tests, fix test_binary

- Add OWNERS files to config and jobs directories (fixes ci/prow/owners)
- Replace test_binary_build_commands (container-run.sh fails in CI pods)
  with npm ci && npm run build to create pipeline:test-bin image
- Switch all tests to from: test-bin (npm ci runs once, not per-test)
- Add audit-catalog and catalog-integrity test jobs
- Regenerate presubmit job definitions

Made-with: Cursor

* fix: add lgtm to mirror-gui Prow plugin list

The lgtm plugin is configured at the top level but was missing from the
repo plugins list, which would prevent the /lgtm command from working on
openshift/mirror-gui PRs. Tide requires the lgtm label for merge.

Made-with: Cursor

* revert: remove duplicate lgtm plugin from repo config

The lgtm plugin is already enabled at the openshift org level. Adding it
to the repo-specific plugins list causes a "duplicated plugin" error in
Prow config validation.

Made-with: Cursor

* fix(ci-operator): use project_image build root for mirror-gui

The previous from_repository configuration expected a repo-local
.ci-operator.yaml with an imagestream reference, which does not match our
Dockerfile-based build root setup. Switch to the documented project_image
mode so ci-operator builds the root image from
.ci-operator/build-root/Dockerfile.

Made-with: Cursor

* fix: regenerate Prow jobs after project_image switch

Adds decoration_config.skip_cloning: true to all mirror-gui jobs,
required when build_root uses project_image mode.

Made-with: Cursor

---------

Signed-off-by: Alex Guidi <aguidi@redhat.com>
Co-authored-by: ybeder <ybeder@redhat.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. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants