CI: Shared example to check CI jobs to download repo via artifacts
What does this MR do and why?
CI: Shared example to check CI jobs to download repo via artifacts
The idea is to have a TODO list of CI jobs which still don't download the monolith repo via artifacts.
With that we don't have to guess (or let AI guess) which CI jobs are still performing git clone.
MRs like !214344 would then contribute to reducing the TODO list.
References
Contributes to gitlab-org/quality/analytics/team#134
How to set up and validate locally
bin/rspec spec/dot_gitlab_ci/ci_configuration_validation/pipeline_labels_spec.rb -e "download repo"
How to test it in CI
See
1) CI configuration validation - branch pipelines when MR labeled with `pipeline:run-all-rspec` is changing app/models/user.rb behaves like download repo from artifacts ensures jobs download repo from artifacts
Failure/Error:
expect(config).to download_repo_from_artifacts,
"Job `#{job_name}` does not download repo from artifacts"
Job `test-coverage:export-jest-and-e2e` does not download repo from artifacts
Shared Example Group: "download repo from artifacts" called from ./spec/dot_gitlab_ci/ci_configuration_validation/pipeline_labels_spec.rb:32
# ./spec/dot_gitlab_ci/ci_configuration_validation/shared_context_and_examples.rb:206:in `block (3 levels) in <top (required)>'
# ./spec/dot_gitlab_ci/ci_configuration_validation/shared_context_and_examples.rb:198:in `each'
# ./spec/dot_gitlab_ci/ci_configuration_validation/shared_context_and_examples.rb:198:in `block (2 levels) in <top (required)>'
# ./spec/dot_gitlab_ci/ci_configuration_validation/shared_context_and_examples.rb:32:in `block (3 levels) in <top (required)>'
# ./spec/support/webmock.rb:49:in `with_net_connect_allowed'
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Peter Leitzen