Skip to content

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ć

Merge request reports