# On push of a version tag (e.g. v1.0.0): build, publish to GitHub Packages, create Release, upload JARs. name: Release on: push: tags: - 'v*' permissions: contents: write packages: write jobs: release: runs-on: ubuntu-latest env: RELEASE_VERSION: ${{ github.ref_name }} steps: - name: Checkout uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: temurin java-version: 21 cache: gradle - name: Strip v from version run: echo "RELEASE_VERSION=${RELEASE_VERSION#v}" >> $GITHUB_ENV - name: Build and publish to GitHub Packages run: chmod +x gradlew && ./gradlew build publish --no-daemon env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: softprops/action-gh-release@v2 with: generate_release_notes: true files: build/libs/*.jar env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}