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
5 changed files with 6 additions and 59 deletions

View file

@ -1,28 +0,0 @@
name: mirror
on:
push:
branches: [main]
tags: ["*"]
jobs:
gitlab-com:
runs-on: ubuntu-latest
env:
REMOTE: mirror
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Need all to fetch all tags so we can push them
fetch-depth: 0
- name: Add Remote
env:
CLONE_URL: "https://releaser-pleaser:${{ secrets.GITLAB_COM_PUSH_TOKEN }}@gitlab.com/apricote/releaser-pleaser.git"
run: git remote add $REMOTE $CLONE_URL
- name: Push Branches
run: git push --force --all --verbose $REMOTE
- name: Push Tags
run: git push --force --tags --verbose $REMOTE

View file

@ -1,15 +0,0 @@
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"

View file

@ -1,17 +1,5 @@
# Changelog # Changelog
## [v0.4.0-beta.0](https://github.com/apricote/releaser-pleaser/releases/tag/v0.4.0-beta.0)
### Features
- add support for GitLab repositories (#49)
### Bug Fixes
- **parser**: continue on unparsable commit message (#48)
- **cli**: command name in help output (#52)
- **parser**: invalid handling of empty lines (#53)
## [v0.3.0](https://github.com/apricote/releaser-pleaser/releases/tag/v0.3.0) ## [v0.3.0](https://github.com/apricote/releaser-pleaser/releases/tag/v0.3.0)
### :sparkles: Highlights ### :sparkles: Highlights

View file

@ -21,7 +21,7 @@ inputs:
outputs: {} outputs: {}
runs: runs:
using: 'docker' using: 'docker'
image: ghcr.io/apricote/releaser-pleaser:v0.4.0-beta.0 # x-releaser-pleaser-version image: ghcr.io/apricote/releaser-pleaser:v0.3.0 # x-releaser-pleaser-version
args: args:
- run - run
- --forge=github - --forge=github

View file

@ -18,13 +18,15 @@ spec:
# Remember to update docs/reference/gitlab-ci-component.md # Remember to update docs/reference/gitlab-ci-component.md
--- ---
releaser-pleaser: workflow:
stage: $[[ inputs.stage ]]
rules: rules:
# There is no way to run a pipeline when the MR description is updated :( # There is no way to run a pipeline when the MR description is updated :(
- if: $CI_COMMIT_BRANCH == "$[[ inputs.branch ]]" - if: $CI_COMMIT_BRANCH == "$[[ inputs.branch ]]"
releaser-pleaser:
stage: $[[ inputs.stage ]]
image: image:
name: ghcr.io/apricote/releaser-pleaser:v0.4.0-beta.0 # x-releaser-pleaser-version name: ghcr.io/apricote/releaser-pleaser:v0.3.0 # x-releaser-pleaser-version
entrypoint: [""] entrypoint: [""]
variables: variables:
GITLAB_TOKEN: $[[ inputs.token ]] GITLAB_TOKEN: $[[ inputs.token ]]