Skip to content

Convert `:release` yaml to `release-cli` commands

What does this MR do?

Satisfies part 1 of #199250 (closed):

Convert the :release yaml to a releaser-cli command line

The releaser-cli understands yaml in this form (under the :release node):

release_job: {
  stage: 'release',
  only: 'tags',
  script: ['make changelog | tee release_changelog.txt'],
  release: {
     name: 'Release $CI_COMMIT_SHA',
     description: 'Created using the release-cli $EXTRA_DESCRIPTION',
     tag_name: 'release-$CI_COMMIT_SHA',
     ref: '$CI_COMMIT_SHA'
  }

This MR produces the following command line:

release-cli create --name "Release $CI_COMMIT_SHA" --description "Created using the release-cli $EXTRA_DESCRIPTION" --tag-name "release-$CI_COMMIT_SHA" --ref "$CI_COMMIT_SHA"

Please note:

  • the yaml has already been validated before the pipeline is executed
  • the :release node is currently behind a feature flag

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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

Part of #199250 (closed)

Edited by Sean Carroll

Merge request reports