[go: up one dir, main page]

Skip to content

Store artifacts:expose_as into a different table

Problem

options => artifacts:expose_as is needed long term for the MR widgets exposing artifacts and it's used when has_exposed_artfacts: true

This should be considered intrinsic data because it's used in MR widgets to display artifacts.

Proposal

However, rather than copying it into ci_builds, we should look into extracting it out into a dedicated table. This is likely a low-usage feature. We can isolate the data and evaluate whether to deprecate it.

Alternate proposal

Investigate the feasibility of adding the columns exposed_as and exposed_paths to p_ci_job_artifacts as detailed in #549079 (comment 2573177199).

Implementation plan

POC MR: Draft: POC - Store and read expose_as data from... (!196910 - closed)

We've decided to migrate the artifacts:expose_as data to p_ci_job_artifacts for long term storage. The implementation steps are:

Description Issue
1. Add the columns exposed_as and exposed_paths to p_ci_job_artifacts with the applicable model validations per POC. The text validation on exposed_as should be done asynchronously (see !197728 (comment 2629677384)). 👈 This issue
2. Add the logic to start updating the columns going forward and read from both old/new data sources. 👈 This issue
3. Migrate the existing data from p_ci_builds_metadata to the new columns in p_ci_job_artifacts. #555430 (closed)
Edited by Leaminn Ma