Skip to content

prowgen: use preset for registry pull credentials volume#5114

Open
petr-muller wants to merge 1 commit intoopenshift:mainfrom
petr-muller:prowgen-registry-pull-preset
Open

prowgen: use preset for registry pull credentials volume#5114
petr-muller wants to merge 1 commit intoopenshift:mainfrom
petr-muller:prowgen-registry-pull-preset

Conversation

@petr-muller
Copy link
Copy Markdown
Member

@petr-muller petr-muller commented Apr 19, 2026

Third attempt to do #4994 after we had to revert #5019

Move the pull-secret volume and volumeMount from the hardcoded defaultPodSpec to a Prow preset.

This is a proof of concept for using compositional Prow presets to deduplicate the ~28 lines of boilerplate volumes/mounts that are inlined into every one of the 126K+ generated Prowjob definitions.

The preset is defined in openshift/release and matched via a new label added to all prowgen-generated jobs. The --image-import-pull-secret arg remains inline since presets cannot inject container args.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Summary by CodeRabbit

  • New Features

    • Jobs now opt into a registry-pull preset via a new label to enable preset-driven registry access.
  • Bug Fixes & Improvements

    • Removed explicit in-pod registry pull secret mounts/volumes from generated job specs, relying on the preset instead to simplify configs and centralize credential provisioning.

Copilot AI review requested due to automatic review settings April 19, 2026 19:42
@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: automatic mode

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 2a186812-6ac1-4f3d-8983-2e980ced8f93

📥 Commits

Reviewing files that changed from the base of the PR and between 194e6b9 and 18d6c00.

📒 Files selected for processing (197)
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_multiple_additional_PRs.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_sharded_test_looks_up_first_shard_in_dispatcher.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_a_different_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_multiple_multi_pr_job_runs_with_diverse_additional_PRs.yaml
  • pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml
  • pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_Hive_cluster_request_creates_a_ProwJob.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_aggregated_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_no_PRs_included__testing_determined_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_sharded_job.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_variant.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_without_PR__testing_specified_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_different_repositories.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_the_same_repository.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_case__one_of_the_prowjobs_already_exists.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_initial_and_base_payload_pullspecs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_tag.yaml
  • pkg/prowgen/jobbase.go
  • pkg/prowgen/podspec.go
  • pkg/prowgen/testdata/zz_fixture_TestCIPullSecret_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestClaims_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_input_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_inputs_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGSMConfig_add_gsm_config_volume_and_mount.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_config_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_job_for_private_repos_with_public_results.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_option_set_but_not_private.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_hidden_job_for_private_repos.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_no_special_options.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_path_alias.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_rehearsable.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job_with_unique_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_periodic.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_postsubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_job_level.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_repo_level.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_is_configured_for_slack_reporting.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_pipeline_skip_if_only_changed_propagated_to_presubmit_only.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_run_if_changed_propagated_to_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_skip_if_only_changed_propagated_to_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_kvm_label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_postsubmit_images.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_test_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_no_Promotion_configuration_has_no_branch_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_bundle_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_my_bundle_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_without_index_creates_ci_index_my_bundle_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_presubmit_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_promotion_postsubmit_and_periodic_.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_sharded_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_so_only_two_test_presubmits_are_generated.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_with_one_test_configured_as_a_postsubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_nonempty_Images_so_two_test_presubmits_and_images_pre_postsubmits_are_generated_.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_in_a_variant_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_with_retry.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_standard_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_interval.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_minimum_interval.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_disabled_rehearsal.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Lowercase_org_repo_and_branch.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Uppercase_org__repo_and_branch.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_capabilities_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_optional_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_a_test_in_a_variant_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_standard_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_optional_true.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_run_if_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_skip_if_only_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_run_if_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_rehearsal_disabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo__reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo_without_reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_with_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_without_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestLeaseClient_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Cluster.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_PathAlias.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Rehearsable.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_TestName.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_WithLabel.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_defaults_repo.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_no_parameter_is_added_when_variant_is_empty.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_parameter_is_added_for_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_job_excluded_by_patterns_should_not_have_slack_reporter_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_literal_multi_stage_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_CSI_enabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_CSI_enabled_via_ci_operator_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_claim.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_releases.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_cluster.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secrets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout_and_no_decoration.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_test_with_CSI_enabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_with_slack_reporter_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestPromotion_secret_and_parameters_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_buildroot_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_binary_build_in_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_configured_prefix.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_image_builds_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_a_candidate__has_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_not_a_candidate__does_not_have_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_in_openshift_release_main__does_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_outside_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_not_a_latest_release_that_is_a_candidate__does_not_have_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_test_binary_build_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_with_cloning__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_without_cloning__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseInitial_add_release_initial.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseLatest_add_release_latest.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseRpms_envvar_generated_for_non_origin_repo.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_empty_list_is_a_nop.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_multiple_secrets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_one_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargetAdditionalSuffix_target_additional_suffix_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_multiple_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_single_target.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-branch-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/random-file/legacy-random-file-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private-org/duper/private-org-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private-org/super/private-org-super-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/sharded/repo/sharded-repo-main-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/subdir/repo/subdir-repo-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-job-release-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-removed-promotion-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-4.19-periodics.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml
  • test/integration/pj-rehearse/expected.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-postsubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-postsubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/other/org-other-nonstandard-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/repo/org-repo-main-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/third/org-third-nonstandard-presubmits.yaml
💤 Files with no reviewable changes (40)
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_multiple_additional_PRs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_sharded_job.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_variant.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_different_repositories.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_the_same_repository.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_case__one_of_the_prowjobs_already_exists.yaml
  • pkg/prowgen/testdata/zz_fixture_TestClaims_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGSMConfig_add_gsm_config_volume_and_mount.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo__reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo_without_reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_with_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestLeaseClient_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_defaults_repo.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_parameter_is_added_for_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_no_parameter_is_added_when_variant_is_empty.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_multiple_secrets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestPromotion_secret_and_parameters_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargetAdditionalSuffix_target_additional_suffix_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseRpms_envvar_generated_for_non_origin_repo.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_without_PR__testing_specified_base.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_multiple_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_single_target.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_one_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseInitial_add_release_initial.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_empty_list_is_a_nop.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_sharded_test_looks_up_first_shard_in_dispatcher.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_a_different_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_multiple_multi_pr_job_runs_with_diverse_additional_PRs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_aggregated_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_no_PRs_included__testing_determined_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_initial_and_base_payload_pullspecs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_tag.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCIPullSecret_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_input_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_inputs_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_without_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseLatest_add_release_latest.yaml
✅ Files skipped from review due to trivial changes (78)
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_config_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_job_for_private_repos_with_public_results.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_hidden_job_for_private_repos.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_no_special_options.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_path_alias.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_rehearsable.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_run_if_changed_propagated_to_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_postsubmit_images.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_test_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_no_Promotion_configuration_has_no_branch_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_with_one_test_configured_as_a_postsubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_with_retry.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_in_a_variant_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_standard_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_interval.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_minimum_interval.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_disabled_rehearsal.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Lowercase_org_repo_and_branch.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Uppercase_org__repo_and_branch.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_capabilities_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_a_test_in_a_variant_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_optional_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_standard_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_run_if_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_skip_if_only_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_run_if_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_rehearsal_disabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Cluster.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Rehearsable.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_WithLabel.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_CSI_enabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_binary_build_in_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_in_openshift_release_main__does_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_a_candidate__has_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_outside_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_image_builds_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_configured_prefix.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_test_binary_build_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_without_cloning__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_not_a_candidate__does_not_have_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_not_a_latest_release_that_is_a_candidate__does_not_have_job_release__label.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private-org/super/private-org-super-master-presubmits.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_buildroot_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml
  • pkg/prowgen/jobbase.go
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_is_configured_for_slack_reporting.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_sharded_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_so_only_two_test_presubmits_are_generated.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_nonempty_Images_so_two_test_presubmits_and_images_pre_postsubmits_are_generated_.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout_and_no_decoration.yaml
  • test/integration/ci-operator-prowgen/output/jobs/subdir/repo/subdir-repo-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-presubmits.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_optional_true.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private-org/duper/private-org-duper-master-presubmits.yaml
  • pkg/prowgen/podspec.go
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-postsubmits.yaml
  • test/integration/pj-rehearse/expected.yaml
🚧 Files skipped from review as they are similar to previous changes (68)
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_option_set_but_not_private.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_postsubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_skip_if_only_changed_propagated_to_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_kvm_label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_presubmit_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_PathAlias.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_TestName.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_claim.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_releases.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_job_excluded_by_patterns_should_not_have_slack_reporter_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_with_cloning__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_test_with_CSI_enabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-postsubmits.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml
  • pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml
  • pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_Hive_cluster_request_creates_a_ProwJob.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job_with_unique_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_periodic.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_pipeline_skip_if_only_changed_propagated_to_presubmit_only.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_bundle_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_my_bundle_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_without_index_creates_ci_index_my_bundle_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_promotion_postsubmit_and_periodic_.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_cluster.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-master-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-4.19-periodics.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-job-release-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-branch-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/random-file/legacy-random-file-master-periodics.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_repo_level.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_job_level.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_literal_multi_stage_test.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/sharded/repo/sharded-repo-main-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/other/org-other-nonstandard-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/third/org-third-nonstandard-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-postsubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-postsubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-removed-promotion-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/repo/org-repo-main-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-presubmits.yaml

Walkthrough

Adds a default preset label presets.ci.openshift.io/registry-pull: "true" to generated jobs and removes explicit pull-secret volume/volumeMount definitions; credential provisioning is expected to be supplied externally via the registry-pull preset.

Changes

Cohort / File(s) Summary
Core changes
pkg/prowgen/jobbase.go, pkg/prowgen/podspec.go
Initialize JobBase.Labels with presets.ci.openshift.io/registry-pull: "true" and remove the in-code definition of the pull-secret volume//etc/pull-secret mount from the default PodSpec (container args still reference the path).
prowgen test fixtures
pkg/prowgen/testdata/*, cmd/ci-operator-prowgen/testdata/*
Many YAML fixtures updated to add the presets.ci.openshift.io/registry-pull: "true" label and to remove pull-secret volumeMount and pull-secret volume (secret registry-pull-credentials) from pod specs.
controller & reconciler testdata
pkg/controller/.../testdata/*, pkg/controller/prpqr_reconciler/testdata/*, pkg/controller/ephemeralcluster/testdata/*
ProwJob/PodSpec fixtures updated: add preset label and remove explicit pull-secret volume/volumeMount entries; other mounts (manifest-tool-local-pusher, result-aggregator, gcs-credentials, push-secret) preserved.
multi-pr & plugins testdata
cmd/multi-pr-prow-plugin/testdata/*
ProwJob fixtures updated to remove pull-secret volume/volumeMount and to rely on the added registry-pull label.
integration test outputs
test/integration/**, test/integration/pj-rehearse/**, test/integration/repo-init/expected/**
Generated job YAML used by integration tests updated: add presets.ci.openshift.io/registry-pull: "true" labels and remove pull-secret volume/volumeMounts across many presubmits/postsubmits/periodics.
Other test fixtures
various pkg/prowgen/testdata/zz_fixture_* files and many other zz_fixture_*.yaml
Numerous individual fixture files updated to add label and/or remove pull-secret wiring consistent with the above changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

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

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates prowgen to rely on a Prow preset for registry pull credentials instead of inlining the pull-secret volume/volumeMount into every generated job, by adding a new label to all prowgen-generated jobs and removing the hardcoded mount/volume from the default PodSpec.

Changes:

  • Add presets.ci.openshift.io/registry-pull: "true" to all prowgen-generated jobs so a Prow preset can inject the registry pull secret volume/mount.
  • Remove the hardcoded pull-secret volume and /etc/pull-secret volumeMount from defaultPodSpec, while keeping --image-import-pull-secret arg inline.
  • Update integration and fixture YAMLs to reflect the new label and the absence of the inline pull-secret volume/mount.

Reviewed changes

Copilot reviewed 193 out of 193 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pkg/prowgen/jobbase.go Adds the new preset-matching label to all prowgen-generated job bases.
pkg/prowgen/podspec.go Removes inline pull-secret volume/mount; keeps ci-operator arg referencing /etc/pull-secret.
test/integration/repo-init/expected/ci-operator/jobs/org/third/org-third-nonstandard-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/repo-init/expected/ci-operator/jobs/org/repo/org-repo-main-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/repo-init/expected/ci-operator/jobs/org/other/org-other-nonstandard-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/master/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/expected.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/candidate/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-4.19-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-removed-promotion-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-job-release-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/subdir/repo/subdir-repo-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/sharded/repo/sharded-repo-main-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/private-org/super/private-org-super-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/private-org/duper/private-org-duper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-postsubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/legacy/random-file/legacy-random-file-master-periodics.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-master-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-branch-presubmits.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestTargets_single_target.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestTargets_multiple_targets.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestTargetAdditionalSuffix_target_additional_suffix_is_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestSecrets_one_secret.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestSecrets_multiple_secrets.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestSecrets_empty_list_is_a_nop.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestReleaseRpms_envvar_generated_for_non_origin_repo.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestReleaseLatest_add_release_latest.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestReleaseInitial_add_release_initial.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_without_cloning__including_podspec.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_with_cloning__including_podspec.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_test_binary_build_in_of_openshift_release_main__does_not_have_no_builds__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_not_a_latest_release_that_is_a_candidate__does_not_have_job_release__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_outside_of_openshift_release_main__does_not_have_no_builds__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_in_openshift_release_main__does_have_no_builds__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_not_a_candidate__does_not_have_job_release__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_a_candidate__has_job_release__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_image_builds_in_of_openshift_release_main__does_not_have_no_builds__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_configured_prefix.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_binary_build_in_openshift_release_main__does_not_have_no_builds__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant__including_podspec.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_buildroot_in_of_openshift_release_main__does_not_have_no_builds__label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration__including_podspec.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestPromotion_secret_and_parameters_are_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_with_slack_reporter_config.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_test_with_CSI_enabled.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout_and_no_decoration.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secrets.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secret.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_cluster.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_releases.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_claim.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_CSI_enabled.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_literal_multi_stage_test.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_job_excluded_by_patterns_should_not_have_slack_reporter_config.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_parameter_is_added_for_variant.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_no_parameter_is_added_when_variant_is_empty.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_defaults_repo.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_WithLabel.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_TestName.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Rehearsable.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_PathAlias.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Cluster.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestLeaseClient_secret_is_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_without_variant.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_with_variant.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo_without_reusing_Prow_s_volume_with_credentials.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo__reusing_Prow_s_volume_with_credentials.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_rehearsal_disabled.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_skip_if_only_changed.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_run_if_changed.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_skip_if_only_changed.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_run_if_changed.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_run_if_changed_set.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_skip_if_only_changed_set.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_run_if_changed_set.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_optional_true.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_standard_test.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_a_test_in_a_variant_config.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_optional_presubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_capabilities_added.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_skip_if_only_changed.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_run_if_changed.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_capabilities.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Uppercase_org__repo_and_branch.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Lowercase_org_repo_and_branch.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_disabled_rehearsal.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_capabilities.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_minimum_interval.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_interval.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_standard_test.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_with_retry.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_in_a_variant_config.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_nonempty_Images_so_two_test_presubmits_and_images_pre_postsubmits_are_generated_.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_with_one_test_configured_as_a_postsubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_so_only_two_test_presubmits_are_generated.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_sharded_presubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_promotion_postsubmit_and_periodic_.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_presubmit.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_capabilities.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_presubmit_with_capabilities.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_without_index_creates_ci_index_my_bundle_presubmit_job.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_presubmit_job.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_my_bundle_presubmit_job.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_bundle_with_capabilities.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_no_Promotion_configuration_has_no_branch_job.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_test_job.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_postsubmit_images.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_kvm_label.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_skip_if_only_changed_propagated_to_presubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_run_if_changed_propagated_to_presubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_pipeline_skip_if_only_changed_propagated_to_presubmit_only.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_is_configured_for_slack_reporting.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_repo_level.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_job_level.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_presubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_postsubmit.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_periodic.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job_with_unique_targets.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_rehearsable.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_path_alias.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_no_special_options.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_hidden_job_for_private_repos.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_option_set_but_not_private.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_job_for_private_repos_with_public_results.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_config_variant.yaml Fixture update: add preset label.
pkg/prowgen/testdata/zz_fixture_TestGSMConfig_add_gsm_config_volume_and_mount.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_inputs_are_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_input_is_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestClaims_secret_is_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/prowgen/testdata/zz_fixture_TestCIPullSecret_secret_is_added.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_tag.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_initial_and_base_payload_pullspecs.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_case__one_of_the_prowjobs_already_exists.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_the_same_repository.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_different_repositories.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_without_PR__testing_specified_base.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_variant.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_sharded_job.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_no_PRs_included__testing_determined_base.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_aggregated_case.yaml Fixture update: remove inline pull-secret volume/mount.
pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_Hive_cluster_request_creates_a_ProwJob.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_multiple_multi_pr_job_runs_with_diverse_additional_PRs.yaml Fixture update: remove inline pull-secret volume/mount.
cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_the_same_repo.yaml Fixture update: remove inline pull-secret volume/mount.
cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_a_different_repo.yaml Fixture update: remove inline pull-secret volume/mount.
cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_sharded_test_looks_up_first_shard_in_dispatcher.yaml Fixture update: remove inline pull-secret volume/mount.
cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_multiple_additional_PRs.yaml Fixture update: remove inline pull-secret volume/mount.
cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_additional_PR_from_the_same_repo.yaml Fixture update: remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.
cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml Fixture update: add preset label; remove inline pull-secret volume/mount.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pkg/prowgen/jobbase.go
Labels: map[string]string{},
Agent: string(prowv1.KubernetesAgent),
Labels: map[string]string{
// TODO(muller): inline for now to avoid triggering all image build, move to a named constant later
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

The TODO comment about “avoid triggering all image build” is unclear and seems unrelated to adding a preset label. Please clarify the rationale (what would be triggered and by what mechanism) or remove the comment to avoid confusing future maintainers.

Suggested change
// TODO(muller): inline for now to avoid triggering all image build, move to a named constant later

Copilot uses AI. Check for mistakes.
Comment thread pkg/prowgen/podspec.go
Comment on lines 23 to 26
Args: []string{
// /etc/pull-secret mount provided by registry-pull preset in Prow config
"--image-import-pull-secret=/etc/pull-secret/.dockerconfigjson",
"--gcs-upload-secret=/secrets/gcs/service-account.json",
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

This introduces a hard runtime dependency on the external Prow preset providing the /etc/pull-secret mount. To make this coupling safer, consider referencing the preset label key via a shared constant and/or adding a short note pointing to the companion openshift/release preset PR or documentation so it’s obvious where the mount comes from and how to keep them in sync.

Copilot uses AI. Check for mistakes.
Comment thread pkg/prowgen/jobbase.go
Comment on lines +63 to +67
Agent: string(prowv1.KubernetesAgent),
Labels: map[string]string{
// TODO(muller): inline for now to avoid triggering all image build, move to a named constant later
"presets.ci.openshift.io/registry-pull": "true",
},
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

The registry-pull preset label is hardcoded as a string literal here. Consider defining a package-level constant (and reusing it in related places/tests) so future label key changes don’t require broad fixture churn and reduce the chance of typos/inconsistencies.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

@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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml (1)

15-45: ⚠️ Potential issue | 🟠 Major

Ephemeralcluster jobs now depend on a preset that may not be rolled out for them.

Line 15 adds presets.ci.openshift.io/registry-pull: "true", but the mount /etc/pull-secret is absent from this fixture. Line 42 still requires --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson, meaning ci-operator expects the file to arrive via the external preset. This extends the dependency beyond prowgen-generated jobs (which are the stated scope of the rollout) to controller-generated ephemeralcluster jobs; if the preset is not deployed wherever these jobs run, cluster provisioning will fail at runtime.

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

In
`@pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml`
around lines 15 - 45, The fixture adds the preset key
presets.ci.openshift.io/registry-pull: "true" but does not provide the
corresponding mount for /etc/pull-secret referenced by the container arg
--image-import-pull-secret=/etc/pull-secret/.dockerconfigjson; update the YAML
under spec.pod_spec to include a volume (e.g., name: pull-secret, secret:
{secretName: <appropriate-secret>}) and a matching container.volumeMounts entry
mounting that volume at /etc/pull-secret (or remove the preset line if you
intend not to rely on the external preset), so the container arg and the
presets.ci.openshift.io/registry-pull setting are consistent.
pkg/prowgen/podspec.go (1)

19-67: ⚠️ Potential issue | 🔴 Critical

This change will break image-importing jobs; the required Prow preset does not exist in openshift/release.

defaultPodSpec hard-codes --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson, but prowgen no longer provides the volume/volumeMount. The code comments reference a Prow preset presets.ci.openshift.io/registry-pull=true that should inject the mount, however this preset does not exist in openshift/release. Hand-written jobs in openshift/release mount the registry-pull-credentials secret directly, not via a preset.

Before this change merges, either:

  1. Create the referenced preset in openshift/release, or
  2. Modify prowgen to include the volume/volumeMount directly instead of relying on an absent preset.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/prowgen/podspec.go` around lines 19 - 67, defaultPodSpec hard-codes the
image-import arg "--image-import-pull-secret=/etc/pull-secret/.dockerconfigjson"
but does not provide the corresponding Volume/VolumeMount (it relied on a
non-existent Prow preset); update defaultPodSpec to add a Volume and matching
VolumeMount that supplies the pull secret (use the same mount path
/etc/pull-secret and a secret name consistent with openshift/release jobs, e.g.
"registry-pull-credentials"), or remove the arg; ensure the Container's
VolumeMount list and the PodSpec Volumes list are updated together so the
container can read the secret when using the ci-operator invocation in
defaultPodSpec.
🧹 Nitpick comments (2)
pkg/prowgen/jobbase.go (1)

64-67: Extract preset label key/value into constants.

Line 65 already calls this out. Moving these literals to constants will reduce drift across generator code and fixtures.

Proposed refactor
+const (
+	registryPullPresetLabel = "presets.ci.openshift.io/registry-pull"
+	registryPullPresetValue = "true"
+)
+
 func NewProwJobBaseBuilder(configSpec *cioperatorapi.ReleaseBuildConfiguration, info *ProwgenInfo, podSpecGenerator CiOperatorPodSpecGenerator) *prowJobBaseBuilder {
 	b := &prowJobBaseBuilder{
 		PodSpec: podSpecGenerator,
 		base: prowconfig.JobBase{
 			Agent: string(prowv1.KubernetesAgent),
 			Labels: map[string]string{
-				// TODO(muller): inline for now to avoid triggering all image build, move to a named constant later
-				"presets.ci.openshift.io/registry-pull": "true",
+				registryPullPresetLabel: registryPullPresetValue,
 			},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/prowgen/jobbase.go` around lines 64 - 67, The Labels map in jobbase.go is
using hard-coded literals for the preset
("presets.ci.openshift.io/registry-pull": "true"); extract the label key and its
value into package-level constants (e.g., PresetRegistryPullKey and
PresetRegistryPullValue) and replace the literal usages in the Labels map with
those constants; ensure the constants are exported or placed where other
generator code and fixtures can import them if needed and keep the existing map
key/value semantics in the Labels field.
pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml (1)

8-8: Add a direct test for the arg↔preset invariant.

Line 14 still emits --image-import-pull-secret, but this golden file only indirectly checks the new dependency on Line 8. A focused generator test that asserts “job emits the pull-secret arg => job also gets presets.ci.openshift.io/registry-pull” would make this much harder to regress silently.

Also applies to: 14-14

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

In
`@pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml`
at line 8, Add a focused unit test that directly asserts the arg↔preset
invariant: when a generated job contains the command-line arg
"--image-import-pull-secret" the job's presets must include the key
"presets.ci.openshift.io/registry-pull" with value "true". Locate the
generator/test for NewProwJobBaseBuilderForTest (or the fixture generation
function used by
zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml),
generate the job, scan its Container.Args (or equivalent) for
"--image-import-pull-secret" and assert that the job's Presets/map contains
"presets.ci.openshift.io/registry-pull":"true"; add a complementary negative
case (no arg => no preset) to prevent regressions.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-periodics.yaml`:
- Line 15: Several job YAMLs still pass the container arg
'--image-import-pull-secret=/etc/pull-secret/.dockerconfigjson' but lack the
required preset label; find every job YAML (especially under testdata dirs) that
contains the exact arg string and add the label key
presets.ci.openshift.io/registry-pull: "true" to the job's metadata.labels block
(mirror how it's added in slack-report-duper-master-periodics.yaml); ensure the
label is present on the same job objects that include the
--image-import-pull-secret arg so the preset will inject the /etc/pull-secret
mount at runtime.

In
`@test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-postsubmits.yaml`:
- Line 13: The job relies on the external preset
"presets.ci.openshift.io/registry-pull" to mount
/etc/pull-secret/.dockerconfigjson but that preset may not be present on all
target clusters; ensure the preset is applied to every cluster before merge
(coordinate with the openshift/release rollout) or implement a pre-deployment
contract check that verifies the presence of the
"presets.ci.openshift.io/registry-pull" preset (and thus the
/etc/pull-secret/.dockerconfigjson mount) for all promotion jobs that reference
the ci-operator args so promotions won't fail at runtime.

---

Outside diff comments:
In
`@pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml`:
- Around line 15-45: The fixture adds the preset key
presets.ci.openshift.io/registry-pull: "true" but does not provide the
corresponding mount for /etc/pull-secret referenced by the container arg
--image-import-pull-secret=/etc/pull-secret/.dockerconfigjson; update the YAML
under spec.pod_spec to include a volume (e.g., name: pull-secret, secret:
{secretName: <appropriate-secret>}) and a matching container.volumeMounts entry
mounting that volume at /etc/pull-secret (or remove the preset line if you
intend not to rely on the external preset), so the container arg and the
presets.ci.openshift.io/registry-pull setting are consistent.

In `@pkg/prowgen/podspec.go`:
- Around line 19-67: defaultPodSpec hard-codes the image-import arg
"--image-import-pull-secret=/etc/pull-secret/.dockerconfigjson" but does not
provide the corresponding Volume/VolumeMount (it relied on a non-existent Prow
preset); update defaultPodSpec to add a Volume and matching VolumeMount that
supplies the pull secret (use the same mount path /etc/pull-secret and a secret
name consistent with openshift/release jobs, e.g. "registry-pull-credentials"),
or remove the arg; ensure the Container's VolumeMount list and the PodSpec
Volumes list are updated together so the container can read the secret when
using the ci-operator invocation in defaultPodSpec.

---

Nitpick comments:
In `@pkg/prowgen/jobbase.go`:
- Around line 64-67: The Labels map in jobbase.go is using hard-coded literals
for the preset ("presets.ci.openshift.io/registry-pull": "true"); extract the
label key and its value into package-level constants (e.g.,
PresetRegistryPullKey and PresetRegistryPullValue) and replace the literal
usages in the Labels map with those constants; ensure the constants are exported
or placed where other generator code and fixtures can import them if needed and
keep the existing map key/value semantics in the Labels field.

In
`@pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml`:
- Line 8: Add a focused unit test that directly asserts the arg↔preset
invariant: when a generated job contains the command-line arg
"--image-import-pull-secret" the job's presets must include the key
"presets.ci.openshift.io/registry-pull" with value "true". Locate the
generator/test for NewProwJobBaseBuilderForTest (or the fixture generation
function used by
zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml),
generate the job, scan its Container.Args (or equivalent) for
"--image-import-pull-secret" and assert that the job's Presets/map contains
"presets.ci.openshift.io/registry-pull":"true"; add a complementary negative
case (no arg => no preset) to prevent regressions.
🪄 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: 64cdb4d5-baf1-4226-b2fa-9b4fa49a6dc4

📥 Commits

Reviewing files that changed from the base of the PR and between 4be58f4 and 194e6b9.

📒 Files selected for processing (193)
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_postsubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Custom_test_timeout.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Input_is_YAML_and_it_is_correctly_processed.yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_Using_a_variant_config__one_test_and_images__one_existing_job._Expect_one_presubmit__pre_post_submit_images_jobs._Existing_job_should_not_be_changed..yaml
  • cmd/ci-operator-prowgen/testdata/zz_fixture_presubmit_TestFromCIOperatorConfigToProwYaml_one_test_and_images__no_previous_jobs._Expect_test_presubmit__pre_post_submit_images_jobs.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_multiple_additional_PRs.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_sharded_test_looks_up_first_shard_in_dispatcher.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_a_different_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_multiple_multi_pr_job_runs_with_diverse_additional_PRs.yaml
  • pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_An_EphemeralCluster_request_creates_a_ProwJob.yaml
  • pkg/controller/ephemeralcluster/testdata/zz_fixture_pj_TestCreateProwJob_Hive_cluster_request_creates_a_ProwJob.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_aggregated_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_no_PRs_included__testing_determined_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_sharded_job.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_variant.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_without_PR__testing_specified_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_different_repositories.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_the_same_repository.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_case__one_of_the_prowjobs_already_exists.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_initial_and_base_payload_pullspecs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_tag.yaml
  • pkg/prowgen/jobbase.go
  • pkg/prowgen/podspec.go
  • pkg/prowgen/testdata/zz_fixture_TestCIPullSecret_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestClaims_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_input_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_inputs_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGSMConfig_add_gsm_config_volume_and_mount.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_config_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_job_for_private_repos_with_public_results.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_expose_option_set_but_not_private.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_hidden_job_for_private_repos.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_no_special_options.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_path_alias.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobBase_rehearsable.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_Promotion_configuration_causes_promote_job_with_unique_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_periodic.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_postsubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_cluster_label_for_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_job_level.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_disabled_rehearsals_at_repo_level.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_is_configured_for_slack_reporting.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_pipeline_skip_if_only_changed_propagated_to_presubmit_only.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_run_if_changed_propagated_to_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_images_job_with_skip_if_only_changed_propagated_to_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_kvm_label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_postsubmit_images.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_multiarch_test_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_no_Promotion_configuration_has_no_branch_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_bundle_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_my_bundle_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_creates_ci_index_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_operator_section_without_index_creates_ci_index_my_bundle_presubmit_job.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_presubmit_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_periodic_with_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_promotion_postsubmit_and_periodic_.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_sharded_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_so_only_two_test_presubmits_are_generated.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_empty_Images_with_one_test_configured_as_a_postsubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_two_tests_and_nonempty_Images_so_two_test_presubmits_and_images_pre_postsubmits_are_generated_.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_in_a_variant_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_a_test_with_retry.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_for_standard_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_interval.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_using_minimum_interval.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePeriodicForTest_periodic_with_disabled_rehearsal.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Lowercase_org_repo_and_branch.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_Uppercase_org__repo_and_branch.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_capabilities.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePostSubmitForTest_postsubmit_with_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_capabilities_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_optional_presubmit.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_a_test_in_a_variant_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_for_standard_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_optional_true.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_run_if_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_pipeline_skip_if_only_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_but_run_if_changed_set.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_always_run_false_and_pipeline_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_run_if_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_presubmit_with_skip_if_only_changed.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGeneratePresubmitForTest_rehearsal_disabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo__reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo_without_reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_with_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_without_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestLeaseClient_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Cluster.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_PathAlias.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_Rehearsable.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_TestName.yaml
  • pkg/prowgen/testdata/zz_fixture_TestMiscellaneous_WithLabel.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_defaults_repo.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_no_parameter_is_added_when_variant_is_empty.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_parameter_is_added_for_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_job_excluded_by_patterns_should_not_have_slack_reporter_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_literal_multi_stage_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_CSI_enabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_claim.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_cluster_profile.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_multi_stage_test_with_releases.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_cluster.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_secrets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_container_based_test_with_timeout_and_no_decoration.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_test_with_CSI_enabled.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewProwJobBaseBuilderForTest_simple_with_slack_reporter_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestPromotion_secret_and_parameters_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_default_job_without_further_configuration__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_buildroot_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_a_variant__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_binary_build_in_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_configured_prefix.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_image_builds_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_a_candidate__has_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_latest_release_that_is_not_a_candidate__does_not_have_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_in_openshift_release_main__does_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_no_builds_outside_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_not_a_latest_release_that_is_a_candidate__does_not_have_job_release__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_job_with_test_binary_build_in_of_openshift_release_main__does_not_have_no_builds__label.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_with_cloning__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestProwJobBaseBuilder_private_job_without_cloning__including_podspec.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseInitial_add_release_initial.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseLatest_add_release_latest.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseRpms_envvar_generated_for_non_origin_repo.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_empty_list_is_a_nop.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_multiple_secrets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_one_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargetAdditionalSuffix_target_additional_suffix_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_multiple_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_single_target.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-branch-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/branches-separate-files/legacy-branches-separate-files-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/legacy/random-file/legacy-random-file-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/duper/norehearsals-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/norehearsals/stuper/norehearsals-stuper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private-org/duper/private-org-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private-org/super/private-org-super-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/private/duper/private-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/sharded/repo/sharded-repo-main-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/slack-report/duper/slack-report-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/subdir/repo/subdir-repo-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-job-release-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-periodics.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-master-removed-promotion-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-postsubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-3.11-presubmits.yaml
  • test/integration/ci-operator-prowgen/output/jobs/super/duper/super-duper-release-4.19-periodics.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml
  • test/integration/pj-rehearse/candidate/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml
  • test/integration/pj-rehearse/expected.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-ciop-cfg-change-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-cluster-profile-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/duper/super-duper-master-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-periodics.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/super/trooper/super-trooper-master-presubmits.yaml
  • test/integration/pj-rehearse/master/ci-operator/jobs/uses/observer/uses-observer-master-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-postsubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/ci-tools/openshift-ci-tools-master-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-postsubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/openshift/origin/openshift-origin-main-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/other/org-other-nonstandard-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/repo/org-repo-main-presubmits.yaml
  • test/integration/repo-init/expected/ci-operator/jobs/org/third/org-third-nonstandard-presubmits.yaml
💤 Files with no reviewable changes (40)
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_sharded_test_looks_up_first_shard_in_dispatcher.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_a_different_repo.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_different_repositories.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_PRs_from_the_same_repository.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_inputs_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseInitial_add_release_initial.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_parameter_is_added_for_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_no_parameter_is_added_when_variant_is_empty.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestGenerateProwJob_multiple_additional_PRs.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_a_single_multi_pr_job_run_with_additional_PR_from_the_same_repo.yaml
  • cmd/multi-pr-prow-plugin/testdata/zz_fixture_TestHandle_trigger_multiple_multi_pr_job_runs_with_diverse_additional_PRs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_aggregated_case.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_no_PRs_included__testing_determined_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_sharded_job.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_without_PR__testing_specified_base.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_initial_and_base_payload_pullspecs.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_override_tag.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo__reusing_Prow_s_volume_with_credentials.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_with_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestInjectTestFrom_inject_coordinates_without_variant.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_empty_list_is_a_nop.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseRpms_envvar_generated_for_non_origin_repo.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_multiple_secrets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_single_target.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCustomHashInput_custom_hash_input_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargetAdditionalSuffix_target_additional_suffix_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestReleaseLatest_add_release_latest.yaml
  • pkg/prowgen/testdata/zz_fixture_TestTargets_multiple_targets.yaml
  • pkg/prowgen/testdata/zz_fixture_TestCIPullSecret_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGSMConfig_add_gsm_config_volume_and_mount.yaml
  • pkg/prowgen/testdata/zz_fixture_TestNewCiOperatorPodSpecGenerator_defaults_repo.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case_with_variant.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_multiple_case__one_of_the_prowjobs_already_exists.yaml
  • pkg/controller/prpqr_reconciler/testdata/zz_fixture_prowjobs_TestReconcile_basic_case.yaml
  • pkg/prowgen/testdata/zz_fixture_TestClaims_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestLeaseClient_secret_is_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestSecrets_one_secret.yaml
  • pkg/prowgen/testdata/zz_fixture_TestPromotion_secret_and_parameters_are_added.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGitHubToken_podspec_for_private_repo_without_reusing_Prow_s_volume_with_credentials.yaml

@Prucek
Copy link
Copy Markdown
Member

Prucek commented Apr 22, 2026

/retest-required
/lgtm
/hold
/skip

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 22, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 22, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 22, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: petr-muller, Prucek

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 Apr 22, 2026
Third attempt to do openshift#4994 after we had to revert openshift#5019

Move the pull-secret volume and volumeMount from the hardcoded
defaultPodSpec to a Prow preset.

This is a proof of concept for using compositional Prow presets to
deduplicate the ~28 lines of boilerplate volumes/mounts that are
inlined into every one of the 126K+ generated Prowjob definitions.

The preset is defined in openshift/release and matched via a new
label added to all prowgen-generated jobs. The --image-import-pull-secret
arg remains inline since presets cannot inject container args.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@petr-muller petr-muller force-pushed the prowgen-registry-pull-preset branch from 194e6b9 to 18d6c00 Compare April 23, 2026 19:00
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 23, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 23, 2026

New changes are detected. LGTM label has been removed.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 23, 2026

@petr-muller: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/validate-prow 18d6c00 link true /test validate-prow
ci/prow/validate-vendor 18d6c00 link true /test validate-vendor
ci/prow/breaking-changes 18d6c00 link false /test breaking-changes

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants