name: Release to GitHub on: workflow_dispatch: jobs: release: permissions: contents: write runs-on: ubuntu-latest steps: - name: Checkout project uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: main fetch-depth: 0 - name: Cache Maven uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ~/.m2/repository key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Setup Java JDK uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0 with: java-version: '11' distribution: 'microsoft' - name: Version id: version run: | release_tag=$( ./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout ) release_tag=${release_tag%-*} echo "release_tag=gctoolkit-${release_tag}" >> "$GITHUB_ENV" previous_tag=$( git tag --sort=-taggerdate --list 'gctoolkit-*' | head -n1 ) echo "previous_tag=${previous_tag}" >> "$GITHUB_ENV" - name: Release Prepare run: | ./mvnw -B -Prelease release:clean release:prepare \ -Drepository.url=https://${{ github.actor }}:${{ secrets.RELEASE_TOKEN }}@github.com/${{ github.repository }}.git env: GIT_AUTHOR_NAME: 'Git' GIT_AUTHOR_EMAIL: 'noreply@github.com' GIT_COMMITTER_NAME: 'Git' GIT_COMMITTER_EMAIL: 'noreply@github.com' - name: Release to GitHub run: | git checkout "$release_tag" ./mvnw -B -pl :gctoolkit -Pjreleaser jreleaser:release \ -Djreleaser.previous.tag.name="$previous_tag" \ -Djreleaser.tag.name="$release_tag" env: JRELEASER_GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}