Add build info to all package types
What does this MR do?
Packages in the GitLab package registry can be created and updated within pipelines. We have a few models:
Packages::BuildInfo
Packages::PackageFileBuildInfo
That relates a pipeline record to a package record (they are essentially join tables). Currently, we only create these records for NPM, Maven, and Generic packages, however there are a handful of other package types that should include this information as well: Conan
, NuGet
, PyPI
, and Composer
.
This MR updates the services that create packages
records and package_files
records to also create a build_infos
or package_file_build_infos
record when the package or package file was created or updated via a pipeline. It also refactors things for the existing NPM/Maven/Generic packages so this all can mostly happen in a few common places.
Screenshots (strongly suggested)
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry - [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
- [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Related: #239518 (closed)