Skip to content

Release

Release #35

Workflow file for this run

name: Release
on:
workflow_dispatch: { }
permissions: { }
jobs:
create-release:
name: Create Release
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write # Required to create releases
steps:
- name: Checkout Repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # tag=v7.0.0
with:
submodules: 'true'
- name: Set up JDK
uses: actions/setup-java@0f481fcb613427c0f801b606911222b5b6f3083a # tag=v5.5.0
with:
java-version: "21"
distribution: temurin
cache: maven
server-id: central
server-username: MAVEN_CENTRAL_USERNAME
server-password: MAVEN_CENTRAL_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Perform Release
id: perform-release
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run: |-
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
mvn -B -Pgithub-actions release:clean release:prepare
TAG_NAME="$(sed -nr 's/^scm.tag=(v[0-9.]+)$/\1/p' release.properties)"
echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_OUTPUT
mvn -B release:perform
- name: Rollback Failed Release
if: always() && steps.perform-release.outcome == 'failure'
run: |-
mvn -B release:rollback
- name: Create GitHub Release
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
TAG_NAME: "${{ steps.perform-release.outputs.TAG_NAME }}"
REF_NAME: "${{ github.ref_name }}"
run: |-
gh release create "${TAG_NAME}" \
--target "${REF_NAME}" \
--verify-tag \
--generate-notes