ci(release): run the release workflow every Monday at 10:00 Madrid

Add a weekly schedule trigger (08:00 UTC Mondays) to the existing Release
workflow, default the increment to patch on scheduled runs, and skip the run
when there are no commits since the last tag.
This commit is contained in:
Víctor Falcón 2026-07-06 11:56:32 +02:00
parent 84b688b7b7
commit 3dcea7ed39
1 changed files with 18 additions and 1 deletions

View File

@ -1,6 +1,8 @@
name: Release
on:
schedule:
- cron: "0 8 * * 1" # Mondays 08:00 UTC = 10:00 Madrid (CEST) / 09:00 (CET)
workflow_dispatch:
inputs:
increment:
@ -42,23 +44,38 @@ jobs:
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Check for releasable commits
id: guard
run: |
LAST=$(git describe --tags --abbrev=0)
if [ -z "$(git log "$LAST"..HEAD --oneline)" ]; then
echo "No commits since $LAST; skipping release."
echo "skip=true" >> "$GITHUB_OUTPUT"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
- name: Create release branch
id: branch
if: steps.guard.outputs.skip != 'true'
run: |
BRANCH="release/run-${{ github.run_id }}"
git checkout -b "$BRANCH"
echo "name=$BRANCH" >> "$GITHUB_OUTPUT"
- name: Run release-it
if: steps.guard.outputs.skip != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx release-it ${{ inputs.increment }} --ci
run: npx release-it "${{ inputs.increment || 'patch' }}" --ci
- name: Read new version
id: version
if: steps.guard.outputs.skip != 'true'
run: echo "value=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT"
- name: Open pull request
if: steps.guard.outputs.skip != 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |