| name: Release google-java-format | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: "version number for this release." | |
| required: true | |
| jobs: | |
| build-maven-jars: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v2.4.0 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v2.5.0 | |
| with: | |
| java-version: 17 | |
| distribution: 'zulu' | |
| cache: 'maven' | |
| server-id: sonatype-nexus-staging | |
| server-username: CI_DEPLOY_USERNAME | |
| server-password: CI_DEPLOY_PASSWORD | |
| gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} | |
| gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
| - name: Bump Version Number | |
| run: | | |
| mvn --no-transfer-progress versions:set versions:commit -DnewVersion="${{ github.event.inputs.version }}" | |
| mvn --no-transfer-progress versions:set versions:commit -DnewVersion="${{ github.event.inputs.version }}" -pl eclipse_plugin | |
| mvn tycho-versions:update-eclipse-metadata -pl eclipse_plugin | |
| git ls-files | grep -E '(pom.xml|MANIFEST.MF)$' | xargs git add | |
| git config --global user.email "${{ github.actor }}@users.noreply.github.com" | |
| git config --global user.name "${{ github.actor }}" | |
| git commit -m "Release google-java-format ${{ github.event.inputs.version }}" | |
| git tag "v${{ github.event.inputs.version }}" | |
| echo "TARGET_COMMITISH=$(git rev-parse HEAD)" >> $GITHUB_ENV | |
| git remote set-url origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/google/google-java-format.git | |
| - name: Deploy to Sonatype staging | |
| env: | |
| CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} | |
| CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} | |
| GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
| run: | |
| mvn --no-transfer-progress -pl '!eclipse_plugin' -P sonatype-oss-release clean deploy -Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" | |
| - name: Build Eclipse plugin | |
| run: | |
| mvn --no-transfer-progress -pl 'eclipse_plugin' verify gpg:sign -DskipTests=true -Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" | |
| - name: Push tag | |
| run: | | |
| git push origin "v${{ github.event.inputs.version }}" | |
| - name: Add Jars to Release Entry | |
| uses: softprops/action-gh-release@v0.1.14 | |
| with: | |
| draft: true | |
| name: ${{ github.event.input.version }} | |
| tag_name: "v${{ github.event.inputs.version }}" | |
| target_commitish: ${{ env.TARGET_COMMITISH }} | |
| files: | | |
| core/target/google-java-format-*.jar | |
| eclipse_plugin/target/google-java-format-eclipse-plugin-*.jar |