CLID-577: Onboard openshift/mirror-gui to Prow CI#77766
CLID-577: Onboard openshift/mirror-gui to Prow CI#77766openshift-merge-bot[bot] merged 6 commits intoopenshift:mainfrom
Conversation
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>
|
@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. DetailsIn response to this:
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. |
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds 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
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`
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 10✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@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. DetailsIn response to this:
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. |
There was a problem hiding this comment.
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
lintandunitpresubmit jobs havealways_run: false(lines 58 and 120), making them manual-only—they won't run automatically on PRs and require/test lintor/test unitto trigger. Theimagesjob, by contrast, hasalways_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, setalways_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
📒 Files selected for processing (5)
ci-operator/config/openshift/mirror-gui/openshift-mirror-gui-main.yamlci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yamlci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yamlcore-services/prow/02_config/openshift/mirror-gui/_pluginconfig.yamlcore-services/prow/02_config/openshift/mirror-gui/_prowconfig.yaml
- 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
|
@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. DetailsIn response to this:
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. |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yaml (1)
181-304: Consider auto-runninglintanduniton 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: trueand keepskip_if_only_changedto 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
📒 Files selected for processing (4)
ci-operator/config/openshift/mirror-gui/OWNERSci-operator/config/openshift/mirror-gui/openshift-mirror-gui-main.yamlci-operator/jobs/openshift/mirror-gui/OWNERSci-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
|
/jira refresh |
|
@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. DetailsIn response to this:
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. |
|
/jira refresh |
|
@aguidirh: This pull request references CLID-577 which is a valid jira issue. DetailsIn response to this:
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. |
|
/pj-rehearse |
|
@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
|
@aguidirh: This pull request references CLID-577 which is a valid jira issue. DetailsIn response to this:
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
|
/pj-rehearse |
|
@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
|
@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. DetailsIn response to this:
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. |
|
/pj-rehearse |
|
@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
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse |
|
@yakovbeder: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse |
|
@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/jira refresh |
|
@aguidirh: This pull request references CLID-577 which is a valid jira issue. DetailsIn response to this:
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. |
|
/pj-rehearse |
|
@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse ack |
|
@aguidirh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[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 DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/retest |
|
@aguidirh: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
@aguidirh: Updated the following 3 configmaps:
DetailsIn response to this:
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. |
* 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>
Onboard openshift/mirror-gui to Prow CI
Add CI configuration for the mirror-gui repository with container image builds and test jobs.
Changes
npm run lintto check code qualitynpm run build && npm run testfor unit/integration testsocp/5.0namespaceTest Configuration
build_root: from_repository: truefor Node.js/TypeScript environmenttest_binary_build_commandsfor test artifact preparationJobs Generated
Presubmit (PR) jobs:
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-presubmits.yamlPostsubmit (merge) jobs:
ci-operator/jobs/openshift/mirror-gui/openshift-mirror-gui-main-postsubmits.yamlSummary by CodeRabbit