Release version #49
This file contains 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 version | |
on: | |
workflow_dispatch: | |
inputs: | |
release-branch: | |
description: 'On which branch the release should be done. Keep it empty for the default branch' | |
required: false | |
release-version: | |
description: 'Version to be released (e.g. 5.3.0).' | |
required: true | |
next-snapshot-version: | |
description: 'Version to be set after the release (e.g. 5.4.0-SNAPSHOT).' | |
required: true | |
env: | |
GIT_AUTHOR_NAME: GitHub Actions Bot | |
GIT_AUTHOR_EMAIL: <> | |
GIT_COMMITTER_NAME: GitHub Actions Bot | |
GIT_COMMITTER_EMAIL: <> | |
CLUSTER_NAME: smoke-test | |
EE_CLUSTER_NAME: smoke-test-ee | |
jobs: | |
do-release: | |
if: github.repository_owner == 'hazelcast' | |
runs-on: ubuntu-latest | |
services: | |
hazelcast: | |
image: hazelcast/hazelcast:latest-slim | |
ports: | |
- 6701:5701 | |
env: | |
HZ_CLUSTERNAME: $CLUSTER_NAME | |
HZ_NETWORK_JOIN_MULTICAST_ENABLED: false | |
HZ_NETWORK_JOIN_TCPIP_ENABLED: true | |
hazelcast-ee: | |
image: hazelcast/hazelcast-enterprise:latest-slim | |
ports: | |
- 6702:5701 | |
env: | |
HZ_CLUSTERNAME: $EE_CLUSTER_NAME | |
HZ_NETWORK_JOIN_MULTICAST_ENABLED: false | |
HZ_NETWORK_JOIN_TCPIP_ENABLED: true | |
HZ_LICENSEKEY: ${{ secrets.HAZELCAST_ENTERPRISE_KEY }} | |
name: Build and release version | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.inputs.release-branch }} | |
token: ${{ secrets.GH_PAT }} | |
- name: Setup JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: 'adopt' | |
server-id: deploy-repository | |
server-username: MAVEN_USERNAME | |
server-password: MAVEN_PASSWORD | |
architecture: 'x64' | |
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} | |
gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
cache: 'maven' | |
- name: Prepare Deployment | |
run: | | |
mvn versions:set -B -DgenerateBackupPoms=false -DnewVersion=${{ github.event.inputs.release-version }} | |
git commit -am "Set version to ${{ github.event.inputs.release-version }}" | |
git tag v${{ github.event.inputs.release-version }} | |
mvn clean install -V -B | |
- name: Build and run smoke test | |
run: | | |
mvn clean package -V -B -Psmoke-test -DskipTests | |
java -ea -cp smoke-test/target/smoke-test-${{ github.event.inputs.release-version }}.jar:hazelcast-jdbc/target/hazelcast-jdbc-${{ github.event.inputs.release-version }}.jar com.hazelcast.smoke.test.SmokeTestDriver 6701 $CLUSTER_NAME | |
- name: Build and run ee smoke test | |
run: | | |
mvn clean package -V -B -Psmoke-test-ee -DskipTests | |
java -ea -cp smoke-test/target/smoke-test-${{ github.event.inputs.release-version }}.jar:hazelcast-jdbc-enterprise/target/hazelcast-jdbc-enterprise-${{ github.event.inputs.release-version }}.jar com.hazelcast.smoke.test.SmokeTestDriver 6702 $EE_CLUSTER_NAME | |
- name: Deploy EE with Maven | |
run: mvn -f hazelcast-jdbc-enterprise -V -B deploy -Djdbc-release -DskipTests -DskipStaging | |
env: | |
MAVEN_USERNAME: ${{ secrets.JFROG_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.JFROG_PASSWORD }} | |
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} | |
- name: Deploy OS with Maven | |
run: mvn -V -B deploy -Djdbc-release -DskipTests | |
env: | |
MAVEN_USERNAME: ${{ secrets.SONATYPE_OSS_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.SONATYPE_OSS_PASSWORD }} | |
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} | |
- name: Finish Deployment | |
run: | | |
mvn versions:set -B -DgenerateBackupPoms=false -DnewVersion=${{ github.event.inputs.next-snapshot-version }} | |
git commit -am "Set version to ${{ github.event.inputs.next-snapshot-version }}" | |
git push origin v${{ github.event.inputs.release-version }} | |
if [ -n "${{ github.event.inputs.release-branch }}" ]; then | |
git push origin "${{ github.event.inputs.release-branch }}" | |
else | |
git push | |
fi | |
- name: Upload OS binaries to the GitHub release | |
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7 | |
with: | |
file: hazelcast-jdbc/target/hazelcast-jdbc-*.jar | |
file_glob: true | |
tag: v${{ github.event.inputs.release-version }} | |
overwrite: true |