Files
docker-compose-docker/.gitea/workflows/auto-release.yaml
Markus Pesch 2e7eface14
Some checks failed
Lint Markdown files / markdown-lint (push) Has been cancelled
Build / build-arm64 (push) Has been cancelled
Build / build-amd64 (push) Has been cancelled
fix(ci): enable auto-release workflow
2025-10-22 23:14:29 +02:00

64 lines
1.8 KiB
YAML

name: Auto release
on:
push:
branches: [ "master" ]
paths:
- Makefile
env:
GIT_EMAIL: noreply@cryptic.systems
GIT_USER: CSRBot
jobs:
tag_on_change:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5.0.0
with:
fetch-depth: 0
- name: Check if DC_VERSION line changed
id: check_change
run: |
echo "changed=false" >> $GITHUB_OUTPUT
for file in Makefile; do
if git diff HEAD~1 HEAD -- "${file}" | grep --quiet '^[+-]DC_VERSION'; then
echo "DC_VERSION line changed."
echo "changed=true" >> $GITHUB_OUTPUT
break
fi
done
- name: Stop if no change detected
if: steps.check_change.outputs.changed == 'false'
run: echo "No DC_VERSION change. Exiting..."
- name: Create and push new tag
if: steps.check_change.outputs.changed == 'true'
run: |
defined_tag="$(grep --only-matching --perl-regexp 'DC_VERSION\?=v?[\d]*(\.[\d]*){0,2}' Makefile | cut --delimiter='=' --fields=2)"
echo "defined_tag=${defined_tag}" >> $GITHUB_OUTPUT
echo "New tag: ${defined_tag}"
git config --local user.name "${GIT_USER}"
git config --local user.email "${GIT_EMAIL}"
git tag -a "${defined_tag}" -m "${defined_tag}"
git push origin "${defined_tag}"
- name: Trigger "Push tagged images" workflow
if: steps.check_change.outputs.changed == 'true'
uses: peter-evans/repository-dispatch@v4.0.0
with:
client-payload: |
{
"tag": "${{ steps.bump.outputs.defined_tag }}"
}
event-type: push-tagged-images
repository: ${{ github.repository }}
token: ${{ github.token }}