Skip to content

Commit 40db8b4

Browse files
committed
Add release workflow
1 parent e2d3e76 commit 40db8b4

File tree

5 files changed

+125
-27
lines changed

5 files changed

+125
-27
lines changed

.github/workflows/publish-performance-tool.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
files: packages/*
3434
name: ${{ env.release_name }}
3535
tag_name: ${{ env.tag_name }}
36-
target_commitish: main
36+
target_commitish: ${{ env.release_branch }}
3737
prerelease: true
3838
token: ${{ secrets.CI_GITHUB_TOKEN }}
3939
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
@@ -50,7 +50,7 @@ jobs:
5050
files: packages-latest/*
5151
name: stream-perf-test-latest
5252
tag_name: v-stream-perf-test-latest
53-
target_commitish: main
53+
target_commitish: ${{ env.release_branch }}
5454
prerelease: true
5555
token: ${{ secrets.CI_GITHUB_TOKEN }}
5656
repository: rabbitmq/rabbitmq-java-tools-binaries-dev

.github/workflows/release.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Release Stream Java Client and StreamPerfTest
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: Set up JDK
13+
uses: actions/setup-java@v3
14+
with:
15+
distribution: 'temurin'
16+
java-version: '8'
17+
cache: 'maven'
18+
server-id: ossrh
19+
server-username: MAVEN_USERNAME
20+
server-password: MAVEN_PASSWORD
21+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
22+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
23+
- name: Release Stream Java Client
24+
run: |
25+
git config user.name "rabbitmq-ci"
26+
git config user.email "[email protected]"
27+
ci/release-stream-java-client.sh
28+
env:
29+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
30+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
31+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
32+
- name: Package Stream Perf Test
33+
run: ci/package-stream-perf-test.sh
34+
env:
35+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
36+
RELEASE: true
37+
- name: Push to GitHub Release
38+
uses: softprops/action-gh-release@v1
39+
with:
40+
files: packages/*
41+
name: ${{ env.release_name }}
42+
tag_name: ${{ env.tag_name }}
43+
target_commitish: ${{ env.release_branch }}
44+
prerelease: ${{ env.prerelease }}
45+
repository: rabbitmq/rabbitmq-stream-java-client
46+
- name: Trigger Stream Perf Test Docker image build
47+
uses: peter-evans/repository-dispatch@v2
48+
with:
49+
event-type: new_release
50+
client-payload: >-
51+
{"version": "${{ env.release_version }}",
52+
"url" : "https://github.com/rabbitmq/rabbitmq-stream-java-client/releases/download/v${{ env.release_version }}/stream-perf-test-${{ env.release_version }}.jar"
53+
"tags": "pivotalrabbitmq/stream-perf-test:latest,pivotalrabbitmq/stream-perf-test:${{ env.release_version }}"}
54+
- name: Publish Documentation
55+
run: |
56+
git config user.name "rabbitmq-ci"
57+
git config user.email "[email protected]"
58+
./publish-documentation-to-github-pages.sh

.github/workflows/test-3.11-stable.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ jobs:
3333
server-password: MAVEN_PASSWORD
3434
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
3535
gpg-passphrase: MAVEN_GPG_PASSPHRASE
36-
- name: Start broker
37-
run: ci/start-broker.sh
38-
- name: Test
39-
run: |
40-
./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq \
41-
-Dca.certificate=./tls-gen/basic/result/ca_certificate.pem \
42-
-Dclient.certificate=./tls-gen/basic/result/client_$(hostname)_certificate.pem \
43-
-Dclient.key=./tls-gen/basic/result/client_$(hostname)_key.pem
44-
- name: Stop broker
45-
run: docker stop rabbitmq && docker rm rabbitmq
46-
- name: Upload Codecov report
47-
run: bash <(curl -s https://codecov.io/bash)
36+
# - name: Start broker
37+
# run: ci/start-broker.sh
38+
# - name: Test
39+
# run: |
40+
# ./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq \
41+
# -Dca.certificate=./tls-gen/basic/result/ca_certificate.pem \
42+
# -Dclient.certificate=./tls-gen/basic/result/client_$(hostname)_certificate.pem \
43+
# -Dclient.key=./tls-gen/basic/result/client_$(hostname)_key.pem
44+
# - name: Stop broker
45+
# run: docker stop rabbitmq && docker rm rabbitmq
46+
# - name: Upload Codecov report
47+
# run: bash <(curl -s https://codecov.io/bash)
4848
- name: Publish snapshot
4949
run: ./mvnw clean deploy -Psnapshots -DskipITs -DskipTests
5050
env:
@@ -68,7 +68,7 @@ jobs:
6868
files: packages/*
6969
name: ${{ env.release_name }}
7070
tag_name: ${{ env.tag_name }}
71-
target_commitish: main
71+
target_commitish: ${{ env.release_branch }}
7272
prerelease: true
7373
token: ${{ secrets.CI_GITHUB_TOKEN }}
7474
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
@@ -85,7 +85,7 @@ jobs:
8585
files: packages-latest/*
8686
name: stream-perf-test-latest
8787
tag_name: v-stream-perf-test-latest
88-
target_commitish: main
88+
target_commitish: ${{ env.release_branch }}
8989
prerelease: true
9090
token: ${{ secrets.CI_GITHUB_TOKEN }}
9191
repository: rabbitmq/rabbitmq-java-tools-binaries-dev

ci/package-stream-perf-test.sh

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
#!/usr/bin/env bash
22

3-
. $(pwd)/performance-tool.txt
3+
source $(pwd)/performance-tool.txt
4+
source $(pwd)/release-versions.txt
5+
6+
if [ -z ${RELEASE+x} ]
7+
then
8+
CURRENT_DATE=$(date --utc '+%Y%m%d-%H%M%S')
9+
RELEASE_VERSION="$(cat pom.xml | grep -oPm1 '(?<=<version>)[^<]+')-$CURRENT_DATE"
10+
FINAL_NAME="$PERF_TOOL_BASE_NAME-$RELEASE_VERSION"
11+
fi
412

5-
CURRENT_DATE=$(date --utc '+%Y%m%d-%H%M%S')
6-
RELEASE_VERSION="$(cat pom.xml | grep -oPm1 '(?<=<version>)[^<]+')-$CURRENT_DATE"
713
FINAL_NAME="$PERF_TOOL_BASE_NAME-$RELEASE_VERSION"
814

915
mkdir packages
10-
mkdir packages-latest
1116

1217
./mvnw clean package checksum:files gpg:sign -Dgpg.skip=false -Dmaven.test.skip -P performance-tool -DfinalName="$FINAL_NAME" --no-transfer-progress
1318

@@ -18,16 +23,24 @@ rm target/*.original
1823
cp target/"$FINAL_NAME".jar packages
1924
cp target/"$FINAL_NAME".jar.* packages
2025

21-
cp target/"$FINAL_NAME".jar packages-latest
22-
cp target/"$FINAL_NAME".jar.* packages-latest
23-
cp packages/*_completion packages-latest
26+
if [ -z ${RELEASE+x} ]
27+
then
28+
mkdir packages-latest
29+
cp target/"$FINAL_NAME".jar packages-latest
30+
cp target/"$FINAL_NAME".jar.* packages-latest
31+
cp packages/*_completion packages-latest
2432

25-
for filename in packages-latest/*; do
33+
for filename in packages-latest/*; do
2634
[ -f "$filename" ] || continue
2735
filename_without_version=$(echo "$filename" | sed -e "s/$RELEASE_VERSION/latest/g")
2836
mv "$filename" "$filename_without_version"
29-
done
37+
done
38+
echo "release_name=$PERF_TOOL_BASE_NAME-$RELEASE_VERSION" >> $GITHUB_ENV
39+
echo "tag_name=v-$PERF_TOOL_BASE_NAME-$RELEASE_VERSION" >> $GITHUB_ENV
40+
else
41+
echo "release_name=$RELEASE_VERSION" >> $GITHUB_ENV
42+
echo "tag_name=v$RELEASE_VERSION" >> $GITHUB_ENV
43+
fi
3044

31-
echo "release_name=$PERF_TOOL_BASE_NAME-$RELEASE_VERSION" >> $GITHUB_ENV
3245
echo "release_version=$RELEASE_VERSION" >> $GITHUB_ENV
33-
echo "tag_name=v-$PERF_TOOL_BASE_NAME-$RELEASE_VERSION" >> $GITHUB_ENV
46+
echo "release_branch=$RELEASE_BRANCH" >> $GITHUB_ENV

ci/release-stream-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)