Skip to content

Release

Release #4

name: Release
on:
release:
types: [published] # once a release is published in the GitHub UI
workflow_dispatch: # or manually, by clicking the button
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 1. Checkout sources
uses: actions/checkout@v4
- name: 2. Extract version from tag
id: get_version
run: |
realversion="${GITHUB_REF/refs\/tags\//}"
realversion="${realversion//v/}"
echo "VERSION=$realversion" >> $GITHUB_OUTPUT
- name: 3. Set up Java with Maven cache
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
cache: 'maven'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: 4. Update version in Maven configuration
run: mvn versions:set -DnewVersion=${{ steps.get_version.outputs.VERSION }}
- name: 5. Install GPG key
run: |
cat <(echo -e "${{ secrets.OSSH_GPG_SECRET_KEY }}") | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
- name: 6. Publish to Maven
run: |
mvn --no-transfer-progress \
--batch-mode \
-Dgpg.passphrase='${{ secrets.OSSH_GPG_SECRET_KEY_PASSWORD }}' \
release:perform
env:
MAVEN_USERNAME: ${{secrets.OSSH_USERNAME}}
MAVEN_PASSWORD: ${{secrets.OSSH_TOKEN}}