Pass `multi_build_steps` as a Runner Feature when requesting a job
Issue gitlab#199250 (closed) exposes a new .gitlab-ci.yml
syntax for creation of releases, using the releaser-cli.
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'
}
The Runner then calls the releaser-cli
with this 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"
The Runner has already been extended with this MR. An additional change in required to pass the supported runner features to Rails.
A new feature called multi_build_steps
has been created, and this needs to be passed to the POST /api/v4/jobs/request
endpoint, populating the :features
field.
Please also see this note gitlab!27810 (comment 361591716)
Runner is passing features supported when requesting a job - https://gitlab.com/gitlab-org/gitlab/-/blob/df71d756e4955b98bbb4add5cf43cd27c09cc6c7/lib/api/runner.rb#L101 and then
Ci::RegisterJobService
is checking can the runner support the selected job - https://gitlab.com/gitlab-org/gitlab/-/blob/df71d756e4955b98bbb4add5cf43cd27c09cc6c7/app/services/ci/register_job_service.rb#L104. In case it's not the job is dropped with "Your runner is outdated, please upgrade your runner" failure reason.