Release ScyllaDB Java Driver #91
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 re-release tagged releases' | |
| default: scylla-4.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.version_tag }} | |
| if: inputs.target-tag != 'scylla-4.x' | |
| env: | |
| RELEASE_TARGET_TAG: ${{ inputs.version_tag }} | |
| run: make checkout-one-commit-before | |
| - 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-4.x' }} | |
| run: | | |
| git status && git log -3 | |
| git push origin --follow-tags -v |