Use ci_job_artifacts.expire_at as a source of handling artifacts expiration

Description

Today we use ci_builds.artifacts_expire_at (old structure) as a source of handling artifacts expiration. We also store the same value to ci_job_artifacts.expire_at (new structure), however, it's not used yet. Once we migrated legacy artifacts, we can consider using ci_job_artifacts.expire_at, although, this gives us a couple of questions.

  • Should we use ci_builds.artifacts_expire_at as the master expiration time? (i.e. once it's expired, all artifatcs will be removed)
  • Should we consider BuildLog expiration options ?

Proposal

/cc @ayufan @grzesiek

Edited Aug 30, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading