Skip to content

Daily Release

Daily Release #110

Workflow file for this run

name: Daily Release
# Release a new version daily as a heartbeat for downstream automation.
on:
schedule:
# Run every day at 23:00 UTC
- cron: '0 23 * * *'
workflow_dispatch: # Allow manual trigger for testing
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write # Required to create releases
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get next version
id: version
run: |
git fetch --tags
LATEST=$(git tag -l '0.*' 'v0.*' 2>/dev/null | sed 's/^v//' | sort -V | tail -n 1)
PATCH=$(echo "$LATEST" | cut -d. -f3)
NEW_PATCH=$((PATCH + 1))
MAJOR=$(echo "$LATEST" | cut -d. -f1)
MINOR=$(echo "$LATEST" | cut -d. -f2)
echo "version=${MAJOR}.${MINOR}.${NEW_PATCH}" >> $GITHUB_OUTPUT
- name: Create Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create ${{ steps.version.outputs.version }} \
--title "Daily Release ${{ steps.version.outputs.version }}" \
--generate-notes