open-productive-stack/.gitlab-ci.yml
2025-05-11 22:21:54 +02:00

29 lines
841 B
YAML

stages:
- release
create_release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
only:
- tags
rules:
- if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+.*$/
script:
- |
# Get the previous tag to generate changelog
PREVIOUS_TAG=$(git describe --tags --abbrev=0 $CI_COMMIT_TAG^ 2>/dev/null || echo "")
# Generate changelog
if [ -n "$PREVIOUS_TAG" ]; then
CHANGELOG=$(git log --pretty=format:"* %s (%an)" $PREVIOUS_TAG..$CI_COMMIT_TAG)
else
CHANGELOG=$(git log --pretty=format:"* %s (%an)" $CI_COMMIT_TAG)
fi
# Save changelog to file for release
echo -e "## Changes\n$CHANGELOG" > changelog.md
release:
name: 'Release $CI_COMMIT_TAG'
tag_name: '$CI_COMMIT_TAG'
description: './changelog.md'
ref: '$CI_COMMIT_TAG'