Skip to content

Commit 4c4a043

Browse files
committed
Add GHA release scripts
(cherry picked from commit 2dd331f)
1 parent e7e0ac0 commit 4c4a043

File tree

3 files changed

+91
-0
lines changed

3 files changed

+91
-0
lines changed

.github/workflows/release.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Release AMQP Java Client
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-22.04
9+
10+
steps:
11+
- uses: actions/checkout@v3
12+
- name: Evaluate release type
13+
run: ci/evaluate-release.sh
14+
- name: Set up Python
15+
uses: actions/setup-python@v4
16+
with:
17+
python-version: '3.x'
18+
- name: Set up JDK
19+
uses: actions/setup-java@v3
20+
with:
21+
distribution: 'temurin'
22+
java-version: '8'
23+
cache: 'maven'
24+
server-id: ${{ env.maven_server_id }}
25+
server-username: MAVEN_USERNAME
26+
server-password: MAVEN_PASSWORD
27+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
28+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
29+
- name: Get dependencies
30+
run: make deps
31+
- name: Release AMQP Java Client (GA)
32+
if: ${{ env.ga_release == 'true' }}
33+
run: |
34+
git config user.name "rabbitmq-ci"
35+
git config user.email "[email protected]"
36+
ci/release-java-client.sh
37+
env:
38+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
39+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
40+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
41+
- name: Release AMQP Java Client (Milestone/RC)
42+
if: ${{ env.ga_release != 'true' }}
43+
run: |
44+
git config user.name "rabbitmq-ci"
45+
git config user.email "[email protected]"
46+
ci/release-java-client.sh
47+
env:
48+
MAVEN_USERNAME: ''
49+
MAVEN_PASSWORD: ${{ secrets.PACKAGECLOUD_TOKEN }}
50+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}

ci/evaluate-release.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
3+
source ./release-versions.txt
4+
5+
if [[ $RELEASE_VERSION == *[RCM]* ]]
6+
then
7+
echo "prerelease=true" >> $GITHUB_ENV
8+
echo "ga_release=false" >> $GITHUB_ENV
9+
echo "maven_server_id=packagecloud-rabbitmq-maven-milestones" >> $GITHUB_ENV
10+
else
11+
echo "prerelease=false" >> $GITHUB_ENV
12+
echo "ga_release=true" >> $GITHUB_ENV
13+
echo "maven_server_id=ossrh" >> $GITHUB_ENV
14+
fi

ci/release-java-client.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env bash
2+
3+
source ./release-versions.txt
4+
git checkout $RELEASE_BRANCH
5+
6+
./mvnw release:clean release:prepare -DdryRun=true -Darguments="-DskipTests" --no-transfer-progress \
7+
--batch-mode -Dtag="v$RELEASE_VERSION" \
8+
-DreleaseVersion=$RELEASE_VERSION \
9+
-DdevelopmentVersion=$DEVELOPMENT_VERSION \
10+
11+
./mvnw release:clean release:prepare -Darguments="-DskipTests" --no-transfer-progress \
12+
--batch-mode -Dtag="v$RELEASE_VERSION" \
13+
-DreleaseVersion=$RELEASE_VERSION \
14+
-DdevelopmentVersion=$DEVELOPMENT_VERSION
15+
16+
git checkout "v$RELEASE_VERSION"
17+
18+
if [[ $RELEASE_VERSION == *[RCM]* ]]
19+
then
20+
MAVEN_PROFILE="milestone"
21+
echo "prerelease=true" >> $GITHUB_ENV
22+
else
23+
MAVEN_PROFILE="release"
24+
echo "prerelease=false" >> $GITHUB_ENV
25+
fi
26+
27+
./mvnw clean deploy -P $MAVEN_PROFILE -DskipTests --no-transfer-progress

0 commit comments

Comments
 (0)