Refactor artifact locking
What does this MR do?
Continuation from !29802 (merged)
Related issue #16267 (closed)
- Moves the artifact locking mechanism to a service that's triggered on a pipeline state machine transition into
success
- Locks artifacts for all jobs
- Unlocks artifacts when a new pipeline finishes successfully
- Unlock artifacts from previous pipelines only
- Updates artifacts in batches
- Use
Ci::Ref
for getting a list of artifacts to unlock - Adds a new feature flag
destroy_only_unlocked_expired_artifacts
that allows us to granularly enable parts of this change
Does this MR meet the acceptance criteria?
Conformity
Edited by Matija Čupić