As we use a lot of disc space for build artifacts, I’m looking into what is actually stored, and I found two artifacts.zip
files for two jobs called “build” on the same project. When I look at the pages for those jobs I see they both have
Job artifacts
These artifacts are the latest. They will not be deleted (even if expired) until newer artifacts are available.
But they can’t both be the latest.
Apart from the things I expect to be different between those pages (job duration, commit id and pipeline number), the only difference I can see that could explain this is that the developers of this project apparently make a branch for each version they (intend to) release. (I don’t think they use GitLab’s releases feature, they’ve probably found a way that worked for them long ago and just stayed with that.
If this means that GitLab stores the latest artifacts for each branch, I’m officially hating that feature. Is there any way to prevent GitLab from storing tons of old irrelevant artifacts? Do I need to make all our developers delete old branches? (They are going to hate me if I request that, and old branches can be useful.)