mirror of
https://github.com/apricote/releaser-pleaser.git
synced 2026-01-13 13:21:00 +00:00
feat(gitlab): add CI/CD component (#55)
This adds a GitLab CI/CD component that can be `included` in users GitLab CI configuration to integrate releaser-pleaser. Unlike the GitHub Action, this can not easily run whenever a merge request description is changed, only when changes are pushed to main.
This commit is contained in:
parent
61cf12a052
commit
8d7b1c9580
2 changed files with 51 additions and 0 deletions
15
.gitlab-ci.yml
Normal file
15
.gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
stages: [release]
|
||||||
|
|
||||||
|
# For the GitLab CI/CD component to be usable, it needs to be published in
|
||||||
|
# the CI/CD catalog. This happens on new releases.
|
||||||
|
# As the primary tagging happens on GitHub, we only react to pushed tags
|
||||||
|
# and create a corresponding GitLab Release.
|
||||||
|
create-release:
|
||||||
|
stage: release
|
||||||
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
|
script: echo "Creating release $CI_COMMIT_TAG"
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
release:
|
||||||
|
tag_name: "$CI_COMMIT_TAG"
|
||||||
|
description: "$CI_COMMIT_TAG_MESSAGE"
|
||||||
36
templates/run.yml
Normal file
36
templates/run.yml
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
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.'
|
||||||
|
default: ""
|
||||||
|
|
||||||
|
stage:
|
||||||
|
default: build
|
||||||
|
description: 'Defines the build stage'
|
||||||
|
# Remember to update docs/reference/gitlab-ci-component.md
|
||||||
|
---
|
||||||
|
|
||||||
|
releaser-pleaser:
|
||||||
|
stage: $[[ inputs.stage ]]
|
||||||
|
rules:
|
||||||
|
# There is no way to run a pipeline when the MR description is updated :(
|
||||||
|
- if: $CI_COMMIT_BRANCH == "$[[ inputs.branch ]]"
|
||||||
|
image:
|
||||||
|
name: ghcr.io/apricote/releaser-pleaser:v0.4.0-beta.0 # x-releaser-pleaser-version
|
||||||
|
entrypoint: [""]
|
||||||
|
variables:
|
||||||
|
GITLAB_TOKEN: $[[ inputs.token ]]
|
||||||
|
script:
|
||||||
|
- |
|
||||||
|
rp run \
|
||||||
|
--forge=gitlab \
|
||||||
|
--branch=$[[ inputs.branch ]] \
|
||||||
|
--extra-files=$[[ inputs.extra-files ]]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue