releaser-pleaser/templates/run.yml

57 lines
1.9 KiB
YAML

spec:
inputs:
# Remember to update docs/reference/gitlab-ci-component.md
branch:
default: main
description: "This branch is used as the target for releases."
token:
description: "GitLab token for creating and updating release MRs."
extra-files:
description: 'List of files that are scanned for version references by the generic updater.'
default: ""
updaters:
description: "List of updaters that are run. Default updaters can be removed by specifying them as -name. Multiple updaters should be concatenated with a comma. Default Updaters: changelog,generic"
default: ""
stage:
default: build
description: 'Defines the build stage'
needs:
default: [ ]
type: array
description: 'Dependencies of the created Job'
# Remember to update docs/reference/gitlab-ci-component.md
---
releaser-pleaser:
stage: $[[ inputs.stage ]]
needs: $[[ inputs.needs ]]
rules:
# There is no way to run a pipeline when the MR description is updated :(
- if: $CI_COMMIT_BRANCH == "$[[ inputs.branch ]]"
# If a newer releaser-pleaser job runs, this one may be cancelled without problem, releaser-pleaser is idempotent.
# This only works if the user enables "auto-cancel redundant pipelines", which we do tell them to, because this is
# intrusive and up to the user.
interruptible: true
# No need to have multiple releaser-pleaser jobs running at the same time. They all act on the same global state.
resource_group: releaser-pleaser
image:
name: ghcr.io/apricote/releaser-pleaser:v0.7.1 # x-releaser-pleaser-version
entrypoint: [ "" ]
variables:
GITLAB_TOKEN: $[[ inputs.token ]]
script:
- |
rp run \
--forge=gitlab \
--branch=$[[ inputs.branch ]] \
--extra-files="$[[ inputs.extra-files ]]" \
--updaters="$[[ inputs.updaters ]]"