GRM-34: feat: add automated semver versioning, tagging, and releases with git-cliff

This commit is contained in:
2026-06-21 09:53:56 +00:00
parent 5c1d848311
commit 63fb259bac
11 changed files with 718 additions and 8 deletions
+10
View File
@@ -10,6 +10,16 @@ jobs:
runs-on: docker
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install git-cliff
run: |
GIT_CLIFF_VERSION="2.13.0"
URL="https://github.com/orhun/git-cliff/releases/download/v${GIT_CLIFF_VERSION}/git-cliff-${GIT_CLIFF_VERSION}-x86_64-unknown-linux-gnu.tar.gz"
curl -sL "$URL" | tar xz -C /tmp
mv "/tmp/git-cliff-${GIT_CLIFF_VERSION}/git-cliff" /usr/local/bin/git-cliff
chmod +x /usr/local/bin/git-cliff
git-cliff --version
- name: Install build tools
run: |
python3 -m pip install --break-system-packages build twine requests python-dotenv click
+35
View File
@@ -0,0 +1,35 @@
name: Release
on:
push:
branches: [master]
jobs:
release:
runs-on: docker
# Skip release commits to avoid infinite loops
if: !startsWith(github.event.head_commit.message, 'chore(release):')
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.REPO_TOKEN }}
- name: Install git-cliff
run: |
GIT_CLIFF_VERSION="2.13.0"
URL="https://github.com/orhun/git-cliff/releases/download/v${GIT_CLIFF_VERSION}/git-cliff-${GIT_CLIFF_VERSION}-x86_64-unknown-linux-gnu.tar.gz"
curl -sL "$URL" | tar xz -C /tmp
mv "/tmp/git-cliff-${GIT_CLIFF_VERSION}/git-cliff" /usr/local/bin/git-cliff
chmod +x /usr/local/bin/git-cliff
git-cliff --version
- name: Install Python dependencies
run: python3 -m pip install --break-system-packages requests python-dotenv click
- name: Configure git
run: |
git config user.name "grm-ci-bot"
git config user.email "grm-ci-bot@oblachno.fyi"
- name: Run release
env:
PYTHONPATH: src
run: |
python3 scripts/release.py