[Feature flag] Enable keeping latest artifact for ref
What
Enable the :keep_latest_artifacts_for_ref
and :destroy_only_unlocked_expired_artifacts
feature flags.
Owners
- Team: CI
- Most appropriate slack channel to reach out to:
#g_ci
- Best individual to reach out to: @matteeyah
Expectations
What are we expecting to happen?
- All new pipelines should have
locked
set toartifacts_locked
- When a pipeline succeeds it should unlock previous pipelines for the same ref
- When destroying artifacts, only artifacts whose pipelines are unlocked should be destroyed
What might happen if this goes wrong?
-
ExpireBuildArtifactsWorker
might start failing due to database timeouts -
Ci::PipelineSuccessUnlockArtifactsWorker
might start failing due to database timeouts -
Ci::RefDeleteUnlockArtifactsWorker
might start failing due to database timeouts
What can we monitor to detect problems with this?
https://dashboards.gitlab.com/d/000000278/postgresql-slow-queries?orgId=1&refresh=1m
Beta groups/projects
- Small sample project
-
gitlab-org/gitlab
project -
gitlab-org
/gitlab-com
groups
Roll Out Steps
-
Enable on staging -
Test on staging -
Ensure that documentation has been updated -
Coordinate a time to enable the flag with #production
and#g_delivery
on slack. -
Announce on the issue an estimated time this will be enabled on GitLab.com -
Enable on GitLab.com by running chatops command in #production
-
Cross post chatops slack command to #support_gitlab-com
(more guidance when this is necessary in the dev docs) and in your team channel -
Announce on the issue that the flag has been enabled -
Remove feature flag and add changelog entry -
After the flag removal is deployed, clean up the feature flag by running chatops command in #production
channel
Edited by Matija Čupić