Skip to content

Describe triggering releases via workflow_dispatch; error on release if no commits since last tag #26

Describe triggering releases via workflow_dispatch; error on release if no commits since last tag

Describe triggering releases via workflow_dispatch; error on release if no commits since last tag #26

Workflow file for this run

name: Auto-release on PR merge
on:
# This action should be run in workflows triggered by `pull_request_target`
# (not by regular `pull_request`!)
pull_request_target:
branches:
# Create a release whenever a PR is merged into one of these branches:
- master
#- maint
types:
- closed
# Allow manually triggering a release via a "Run workflow" button on the
# workflow's page:
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
# Only run for manual runs or merged PRs with the "release" label:
if: >
github.event_name == 'workflow_dispatch'
|| (github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release'))
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
# Check out all history so that the previous release tag can be
# found:
fetch-depth: 0
- name: Prepare release
id: new-version
uses: ./release
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Update major version branch
run: |
set -ex
v="${new_tag%%.*}"
git update-ref refs/heads/"$v" HEAD
git push origin "$v"
env:
new_tag: ${{ steps.new-version.outputs.new-tag }}