Skip to content

CommitToGeneration transaction #59

CommitToGeneration transaction

CommitToGeneration transaction #59

Workflow file for this run

name: Publish packages to OSSRH
on:
push:
branches:
- master
- version-[0-9].[0-9]+.x
tags:
- v[0-9].[0-9]+.[0-9]+
pull_request:
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
with:
java-version: 11
distribution: temurin
check-latest: true
cache: maven
server-id: central
server-username: OSSRH_USERNAME
server-password: OSSRH_PASSWORD
gpg-private-key: ${{ secrets.OSSRH_GPG_KEY }}
- name: Publish artifacts
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_PASSPHRASE }}
run: |
mvn_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
git_ref=${GITHUB_REF##*/}
pr_number=${{ github.event.number }}
if [[ $git_ref =~ v[0-9]+\.[0-9]+\.[0-9]+$ ]] ; then
if [[ v$mvn_version != $git_ref ]] ; then
echo ::error title=Version mismatch::Maven version $mvn_version does not match tag $git_ref
exit 1
fi
elif [[ $pr_number != "" && $mvn_version =~ -SNAPSHOT$ ]] ; then
pattern="s/(.+)-SNAPSHOT/\1-"$pr_number"-SNAPSHOT/g"
mvn_version=$(echo $mvn_version | sed -E $pattern)
mvn versions:set -DnewVersion=$mvn_version -DgenerateBackupPoms=false -q -DforceStdout
echo Setting version to $mvn_version
elif [[ ! $mvn_version =~ -SNAPSHOT$ ]] ; then
echo ::error title=Non-SNAPSHOT version::Refusing to publish non-snapshot version $mvn_version
exit 1
fi
mvn -B deploy