Create keep column for Ci Artifacts
Keeping artifacts is a nice feature, but the internals can be improved.
Right now, what we do is setting the artifacts_expire_at
column to NULL
. This has the downside that old artifacts are not evicted when an instance wide new default is set. As those records have it set to NULL already. Enabling the instance wide default will also work as expected for administrators. Furthermore, having a keep
column with a boolean will be smaller, as only records with an override of the default need to explicitly set an the datetime field.
The weakest argument, but I do want to add it; it will also make our code easier to understand. Now the details and workings of these feature have a few gotchas which require reading a large chunck of the Ci::Build model.