Skip to content

Re-create release evidence after releases are migrated using GitLab Migration

What does this MR do and why?

this feature is behind bulk_import_projects feature flag that is currently off by default (and disabled on .com).

This MR updates BulkImports::Projects::Pipelines::ReleasesPipeline that imports Project Releases, to re-generate release evidence post-import, when importing using GitLab Migration (https://docs.gitlab.com/ee/user/group/import/).

The process of generating this evidence is identical to the one in Releases::CreateService.

We are re-generating release evidence post import, instead of exporting and importing this data due to the outcome of this discussion. Release evidence can contain sensitive information as well as old ids that are stored in database as json, which we'd have to sanitize during import. It was suggested to re-create it, which is way easier to do from Import POV, as we no longer need to cleanup the incoming data.

Mentions #360567 (closed)

Screenshots or screen recordings

releaseevidence

How to set up and validate locally

  1. Feature.enable(:bulk_import).
  2. Feature.enable(:bulk_import_projects).
  3. Create a top level group and project in it.
  4. Create a new release & observe it has release evidence
  5. Go to /groups/new#import-group-pane page and enter instance url and access token (needs to be api & read_repository scope).
  6. Select newly created group and click Import.
  7. Wait for Group import to complete and verify imported project's releases. Release evidence should be present.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports