Skip to content

Release

Release #139

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
version:
description: "Release version"
required: true
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: 'Checkout code'
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: 'Set up Java 17'
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'zulu'
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: 'Cache Maven packages'
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: 'Update version'
id: version
run: |
VERSION=${{ github.event.inputs.version }}
echo "Updating POMs to version $VERSION"
./mvnw -B versions:set versions:commit -DnewVersion=$VERSION
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "GitHub Action"
git commit -a -m "🏁 Releasing version $VERSION"
git push origin HEAD:master
- name: 'Release to Maven Central'
env:
MAVEN_USERNAME: ${{ secrets.SONATYPE_WITH_TOKEN_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_WITH_TOKEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run: |
export GPG_TTY=$(tty)
./mvnw --no-transfer-progress -B --file pom.xml \
-Drepository.url=https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git \
-Dmaven.site.skip=true -Drelease=true deploy
- name: 'Release to GitHub'
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./mvnw -B --file pom.xml -Prelease -pl :parent jreleaser:full-release
- name: 'JReleaser output'
if: always()
uses: actions/upload-artifact@v3
with:
name: jreleaser-logs
path: |
target/jreleaser/trace.log
target/jreleaser/output.properties