Skip to content

final version

final version #5

Workflow file for this run

name: Publish Package to Maven Central
on:
pull_request:
branches:
- main
- develop
types: [closed]
jobs:
publish:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Step 1 - Checkout code
uses: actions/checkout@v3
- name: Step 2 - Import GPG key
run: |
echo "${{ secrets.GPG_PUBLIC_KEY }}" | gpg --import
echo "${{ secrets.GPG_SECRET_KEY }}" | gpg --import --no-tty --batch --yes
- name: Step 3 - Set up Maven Central Repository
uses: actions/setup-java@v3
with:
java-version: "17"
distribution: "temurin"
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
# Set AUTO_RELEASE_AFTER_CLOSE based on branch and adjust version if develop
- name: Step 4 - Prepare Environment Variables and Adjust Version if Develop Branch
run: |
if [[ "${{ github.base_ref }}" == "main" ]]; then
echo "AUTO_RELEASE_AFTER_CLOSE=true" >> $GITHUB_ENV
else
echo "AUTO_RELEASE_AFTER_CLOSE=false" >> $GITHUB_ENV
# Extract current version, append -SNAPSHOT and update the pom.xml
VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
NEW_VERSION="${VERSION}.$(date +'%Y%m%d%H%M%S')-SNAPSHOT"
mvn versions:set -DnewVersion=$NEW_VERSION
fi
- name: Step 5 - Publish package
run: mvn --batch-mode deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}