Skip to content

core-v6.4.0

core-v6.4.0 #140

Workflow file for this run

name: 'Release'
on:
release:
# runs for stable and pre-releases
types: [published]
permissions:
contents: read
actions: write # for cancel-workflow-action
jobs:
cancel-previous-workflow:
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@3155a141048f8f89c06b4cdae32e7853e97536bc # pin@0.13.0
with:
access_token: ${{ github.token }}
release:
name: Release Job ${{ matrix.os }} - Java ${{ matrix.java }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java: ['17']
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
steps:
- name: Git checkout
uses: actions/checkout@v6
- name: 'Set up Java: ${{ matrix.java }}'
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
# Determine which module to release based on tag
- name: Determine release target
id: release_target
run: |
TAG="${{ github.event.release.tag_name }}"
if [[ "$TAG" == core-v* ]]; then
echo "dry_target=dryReleaseCore" >> $GITHUB_OUTPUT
echo "release_target=releaseCore" >> $GITHUB_OUTPUT
echo "module=core" >> $GITHUB_OUTPUT
elif [[ "$TAG" == android-v* ]]; then
echo "dry_target=dryReleaseAndroid" >> $GITHUB_OUTPUT
echo "release_target=releaseAndroid" >> $GITHUB_OUTPUT
echo "module=android" >> $GITHUB_OUTPUT
elif [[ "$TAG" == server-v* ]]; then
echo "dry_target=dryReleaseServer" >> $GITHUB_OUTPUT
echo "release_target=releaseServer" >> $GITHUB_OUTPUT
echo "module=server" >> $GITHUB_OUTPUT
elif [[ "$TAG" == androidPlugin-v* ]]; then
echo "dry_target=dryReleaseAndroidPlugin" >> $GITHUB_OUTPUT
echo "release_target=releaseAndroidPlugin" >> $GITHUB_OUTPUT
echo "module=androidPlugin" >> $GITHUB_OUTPUT
else
echo "ERROR: Unknown tag format '$TAG'. Expected 'core-v*', 'android-v*', 'server-v*', or 'androidPlugin-v*'."
exit 1
fi
# Let's be sure that everything works before we release
- name: Dry release (${{ steps.release_target.outputs.module }})
run: make ${{ steps.release_target.outputs.dry_target }}
- name: Release (${{ steps.release_target.outputs.module }})
run: make ${{ steps.release_target.outputs.release_target }}