Release ScyllaDB Java Driver #54
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release ScyllaDB Java Driver | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| dry-run: | |
| type: boolean | |
| description: 'dry-run: run without pushing SCM changes to upstream' | |
| default: false | |
| skip-tests: | |
| type: boolean | |
| description: 'skip-tests: do not run tests while releasing' | |
| default: false | |
| target-tag: | |
| type: string | |
| description: 'target-tag: tag or branch name to release. Use to to re-release failed releases' | |
| default: scylla-3.x | |
| jobs: | |
| release: | |
| name: Release | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| env: | |
| MVNCMD: mvn -B -X -ntp | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Checkout Code One Commit Before ${{ inputs.target-tag }} | |
| if: inputs.target-tag != 'scylla-3.x' | |
| run: | | |
| git fetch --prune --unshallow || true | |
| git checkout ${{ inputs.target-tag }}~1 | |
| git tag -d ${{ inputs.target-tag }} | |
| - name: Set up Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '11' | |
| distribution: 'temurin' | |
| server-id: central | |
| gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} | |
| server-username: SONATYPE_TOKEN_USERNAME | |
| server-password: SONATYPE_TOKEN_PASSWORD | |
| cache: maven | |
| - name: Configure Git user | |
| run: | | |
| git config user.name "ScyllaDB Promoter" | |
| git config user.email "[email protected]" | |
| - name: Prepare release | |
| env: | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
| RELEASE_SKIP_TESTS: ${{ inputs.skip-tests }} | |
| run: | | |
| make release-prepare | |
| - name: Perform release | |
| if: inputs.dry-run == false | |
| env: | |
| RELEASE_SKIP_TESTS: ${{ inputs.skip-tests }} | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
| SONATYPE_TOKEN_USERNAME: ${{ secrets.SONATYPE_TOKEN_USERNAME }} | |
| SONATYPE_TOKEN_PASSWORD: ${{ secrets.SONATYPE_TOKEN_PASSWORD }} | |
| run: make release | |
| - name: Perform release dry-run | |
| if: inputs.dry-run == true | |
| env: | |
| RELEASE_SKIP_TESTS: ${{ inputs.skip-tests }} | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
| SONATYPE_TOKEN_USERNAME: ${{ secrets.SONATYPE_TOKEN_USERNAME }} | |
| SONATYPE_TOKEN_PASSWORD: ${{ secrets.SONATYPE_TOKEN_PASSWORD }} | |
| run: make release-dry-run | |
| - name: Upload release logs | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: maven-stdout | |
| path: /tmp/java-driver-release-logs/*.log | |
| - name: Push changes to SCM | |
| if: ${{ inputs.dry-run == false && inputs.target-tag == 'scylla-3.x' }} | |
| run: | | |
| git status && git log -3 | |
| git push origin --follow-tags -v |