Compare commits

...

1 commit

Author SHA1 Message Date
9e3236de1a feat(gitlab): add CI component
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.

We also switch the container base image from `static` to `busybox`
as GitLab CI requires a shell (`sh`) binary to be present for the image
use to run jobs.
2024-09-08 21:09:50 +02:00
2 changed files with 42 additions and 1 deletions

View file

@ -1,3 +1,6 @@
defaultPlatforms:
- linux/arm64
- linux/amd64
- linux/amd64
# Need a shell for gitlab-ci
defaultBaseImage: cgr.dev/chainguard/busybox

38
templates/run.yml Normal file
View file

@ -0,0 +1,38 @@
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
---
workflow:
rules:
# There is no way to run a pipeline when the MR description is updated :(
- if: $CI_COMMIT_BRANCH == "$[[ inputs.branch ]]"
releaser-pleaser:
stage: $[[ inputs.stage ]]
image:
name: ghcr.io/apricote/releaser-pleaser:v0.3.0 # x-releaser-pleaser-version
entrypoint: [""]
variables:
GITLAB_TOKEN: $[[ inputs.token ]]
script:
- |
rp run \
--forge=gitlab \
--branch=$[[ inputs.branch ]] \
--extra-files=$[[ inputs.extra-files ]]