Pipeline execution policy foundation
-
Review changes -
-
Download -
Patches
-
Plain diff
All threads resolved!
All threads resolved!
What does this MR do and why?
This is a Pipeline execution policy PoC that uses dry run to evaluate policy pipelines and merge them into the project pipeline. Policy stages that are not defined in main pipeline will be ignored. In the follow-up, we will add reserved stages which will be injected and adding jobs to these stages will be guaranteed to work.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Policy jobs are merged to the project pipeline:
CleanShot_2024-04-19_at_17.40.43
Error handling - when there's an error in the PEP:
How to set up and validate locally
- Enable the feature flag
echo "Feature.enable(:pipeline_execution_policy_type)" | rails c
- Create two new projects. One for testing and one as the security policy project
- On the testing projects left sidebar, select Security & Compliance and Policies
- Select Edit policy project
- Select your security policy project and Save
- On you security policy project, create a new file
.gitlab/security-policies/policy.yml
with content:--- pipeline_execution_policy: - name: test_pipeline_execution description: hey enabled: true content: policy test job: stage: test script: - echo "Hello World"
- Add a simple
.gitlab-ci.yml
to the project:project job: stage: test script: - echo "Project job."
- Start a pipeline. It should contain the
policy test job
defined in the pipeline execution policy.
Related to #441252 (closed) and #455261 (closed).
Edited by Martin Čavoj
Merge request reports
Compare and
Show latest version
- version 349fd248b7
- version 33d27a5d51
- version 32644eeb24
- version 3191e5f066
- version 3016af87d8
- version 29a3d4d133
- version 288b2cdcbc
- version 27769881cf
- version 2671f03489
- version 252ba88d93
- version 241c10600f
- version 2317e04bf9
- version 22bf1b3d56
- version 2125583553
- version 2081591167
- version 19891a9925
- version 18b86deb82
- version 17150adc9e
- version 16fffcf3b2
- version 15125c66cd
- version 1452125b92
- version 13214cde1e
- version 12be18b8f7
- version 1144f075ec
- version 105406ef14
- version 92944ebe4
- version 8c927a12c
- version 735f9e78e
- version 636f82a12
- version 52a51a3fe
- version 426c2ea5e
- version 3d7aec5d2
- version 248db7f81
- version 137654f7d
- master (base)
- latest versiona62f3fcb1 commit,
- version 349fd248b71 commit,
- version 33d27a5d511 commit,
- version 32644eeb241 commit,
- version 3191e5f0661 commit,
- version 3016af87d81 commit,
- version 29a3d4d1331 commit,
- version 288b2cdcbc1 commit,
- version 27769881cf1 commit,
- version 2671f034891 commit,
- version 252ba88d931 commit,
- version 241c10600f1 commit,
- version 2317e04bf91 commit,
- version 22bf1b3d561 commit,
- version 21255835531 commit,
- version 20815911671 commit,
- version 19891a99251 commit,
- version 18b86deb821 commit,
- version 17150adc9e1 commit,
- version 16fffcf3b21 commit,
- version 15125c66cd9 commits,
- version 1452125b929 commits,
- version 13214cde1e8 commits,
- version 12be18b8f78 commits,
- version 1144f075ec7 commits,
- version 105406ef146 commits,
- version 92944ebe45 commits,
- version 8c927a12c5 commits,
- version 735f9e78e4 commits,
- version 636f82a124 commits,
- version 52a51a3fe3 commits,
- version 426c2ea5e1 commit,
- version 3d7aec5d21 commit,
- version 248db7f811 commit,
- version 137654f7d1 commit,
Compare changes
- Side-by-side
- Inline
There are no changes yet
No changes between version 10 and version 10
Loading