Our CI artifact generation is messy and wasteful

Created on 12 December 2024, 7 months ago

Boy oh boy, we generate a lot of artifacts on CI and it sucks. Until I went in last night and spent two hours manually deleting all the artifacts -- and indeed, I accidentally blew away a few things we were supposed to keep (but don't worry, they can be replaced) -- we were just chewing through storage space.

The main issue is that GitLab CI keeps the latest versions of all artifacts generated by CI, including the artifacts generated by merge request builds, even after those MRs have been merged. Every single CI build uses a good 150 MB -- so that adds up to quite a lot of dead artifacts the more MRs we have.

We need to change our strategy here and be a lot cleaner. Here's what I want to do:

  • The build project job should cease to generate the zip file; instead, it should only generate a Drupal CMS code base that is ready for test running (which also includes the dev dependencies).
  • The zip file generation should be moved to another job which only runs for release branches (both when they are pushed to, and automatically every night), and for tags.
  • The PHPUnit, Cypress, and subtree split jobs should only store their artifacts when the job fails.
  • Right now, when you push a new merge request, the CI pipeline is triggered twice because we lack the configuration that the DA created for contrib projects. Let's add this to our pipeline so that a new MR only triggers one build.
πŸ› Bug report
Status

Active

Component

Infrastructure

Created by

πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024