mirror of
https://github.com/apricote/releaser-pleaser.git
synced 2026-01-13 13:21:00 +00:00
This change reverses the responsibility for which files the updaters are run on. Now each updater can specify the list of files and wether the files should be created when they do not exist yet. This simplifies the handling of each update in releaserpleaser.go, as we can just iterate over all updaters and call it for each file of that updater. Also update the flags to allow users to easily define which updaters should run.
57 lines
1.9 KiB
YAML
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.6.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 ]]"
|