Skip to content

Commit 53cda39

Browse files
authored
Merge branch 'main' into recovery-improvements
2 parents f168ca8 + 2fa0482 commit 53cda39

16 files changed

+429
-89
lines changed

.github/dependabot.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,9 @@ updates:
1010
ignore:
1111
- dependency-name: "com.swiftmq:swiftmq-client"
1212
- dependency-name: "org.springframework.boot:spring-boot-maven-plugin"
13-
versions: ["[2.7,)"]
13+
versions: ["[2.7,)"]
14+
- package-ecosystem: "github-actions"
15+
directory: "/"
16+
schedule:
17+
interval: "daily"
18+
target-branch: "main"

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
# Initializes the CodeQL tools for scanning.
4545
- name: Initialize CodeQL
46-
uses: github/codeql-action/init@v1
46+
uses: github/codeql-action/init@v2
4747
with:
4848
languages: ${{ matrix.language }}
4949
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -54,7 +54,7 @@ jobs:
5454
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5555
# If this step fails, then you should remove it and run the build manually (see below)
5656
- name: Autobuild
57-
uses: github/codeql-action/autobuild@v1
57+
uses: github/codeql-action/autobuild@v2
5858

5959
# ℹ️ Command-line programs to run using the OS shell.
6060
# 📚 https://git.io/JvXDl
@@ -68,4 +68,4 @@ jobs:
6868
# make release
6969

7070
- name: Perform CodeQL Analysis
71-
uses: github/codeql-action/analyze@v1
71+
uses: github/codeql-action/analyze@v2
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Publish documentation
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-22.04
8+
9+
steps:
10+
- uses: actions/checkout@v3
11+
- name: Set up JDK
12+
uses: actions/setup-java@v3
13+
with:
14+
distribution: 'temurin'
15+
java-version: '17'
16+
cache: 'maven'
17+
- name: Publish Documentation
18+
run: |
19+
git config user.name "rabbitmq-ci"
20+
git config user.email "[email protected]"
21+
./publish-documentation-to-github-pages.sh
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Publish performance tool
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-22.04
8+
9+
steps:
10+
- uses: actions/checkout@v3
11+
- name: Set up JDK
12+
uses: actions/setup-java@v3
13+
with:
14+
distribution: 'temurin'
15+
java-version: '17'
16+
cache: 'maven'
17+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
18+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
19+
- name: Package Stream Perf Test
20+
run: ci/package-stream-perf-test.sh
21+
env:
22+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
23+
- name: Delete old releases
24+
uses: docker://pivotalrabbitmq/delete-release-action:latest
25+
with:
26+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
27+
token: ${{ secrets.CI_GITHUB_TOKEN }}
28+
tag-filter: '^v-stream-perf-test-0.[0-9]+.0-SNAPSHOT-[0-9]{8}-[0-9]{6}$'
29+
keep-last-n: 2
30+
- name: Push to GitHub Release
31+
uses: softprops/action-gh-release@v1
32+
with:
33+
files: packages/*
34+
name: ${{ env.release_name }}
35+
tag_name: ${{ env.tag_name }}
36+
target_commitish: main
37+
prerelease: true
38+
token: ${{ secrets.CI_GITHUB_TOKEN }}
39+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
40+
- name: Delete latest release
41+
uses: docker://pivotalrabbitmq/delete-release-action:latest
42+
with:
43+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
44+
token: ${{ secrets.CI_GITHUB_TOKEN }}
45+
tag-filter: '^v-stream-perf-test-latest$'
46+
keep-last-n: 0
47+
- name: Push to GitHub Release
48+
uses: softprops/action-gh-release@v1
49+
with:
50+
files: packages-latest/*
51+
name: stream-perf-test-latest
52+
tag_name: v-stream-perf-test-latest
53+
target_commitish: main
54+
prerelease: true
55+
token: ${{ secrets.CI_GITHUB_TOKEN }}
56+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
57+
- name: Trigger Stream Perf Test Docker image build
58+
uses: peter-evans/repository-dispatch@v2
59+
with:
60+
event-type: new_release
61+
client-payload: >-
62+
{"version": "${{ env.release_version }}",
63+
"url" : "https://github.com/rabbitmq/rabbitmq-java-tools-binaries-dev/releases/download/v-stream-perf-test-${{ env.release_version }}/stream-perf-test-${{ env.release_version }}.jar",
64+
"tags": "pivotalrabbitmq/stream-perf-test:dev,pivotalrabbitmq/stream-perf-test:${{ env.release_version }}"}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Publish snapshot
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-22.04
8+
9+
steps:
10+
- uses: actions/checkout@v3
11+
- name: Set up JDK
12+
uses: actions/setup-java@v3
13+
with:
14+
distribution: 'temurin'
15+
java-version: '17'
16+
cache: 'maven'
17+
server-id: ossrh
18+
server-username: MAVEN_USERNAME
19+
server-password: MAVEN_PASSWORD
20+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
21+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
22+
- name: Publish snapshot
23+
run: ./mvnw clean deploy -Psnapshots -DskipITs -DskipTests
24+
env:
25+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
26+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
27+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}

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

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,41 @@
1-
name: Test against 3.11 alpha
1+
name: Test against RabbitMQ 3.11 alpha
22

33
on:
4+
schedule:
5+
- cron: '0 4 * * *'
46
push:
57
branches:
68
- main
7-
pull_request:
8-
branches:
9-
- main
9+
workflow_dispatch:
10+
11+
env:
12+
RABBITMQ_IMAGE_TAG: 3.11
13+
RABBITMQ_IMAGE: pivotalrabbitmq/rabbitmq-dev
1014

1115
jobs:
1216
build:
1317
runs-on: ubuntu-22.04
1418

15-
services:
16-
rabbitmq:
17-
image: pivotalrabbitmq/rabbitmq-dev:3.11
18-
env:
19-
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: -rabbitmq_stream advertised_host localhost
20-
ports:
21-
- 5552:5552
22-
- 5672:5672
23-
- 1883:1883
24-
- 61613:61613
25-
2619
steps:
2720
- uses: actions/checkout@v3
28-
21+
- name: Checkout tls-gen
22+
uses: actions/checkout@v3
23+
with:
24+
repository: rabbitmq/tls-gen
25+
path: './tls-gen'
2926
- name: Set up JDK
3027
uses: actions/setup-java@v3
3128
with:
3229
distribution: 'temurin'
3330
java-version: '17'
3431
cache: 'maven'
35-
- name: Enable Stream, MQTT and STOMP plugins
36-
run: docker exec ${{job.services.rabbitmq.id}} rabbitmq-plugins enable rabbitmq_stream rabbitmq_mqtt rabbitmq_stomp --offline
37-
- name: Wait before stopping broker
38-
run: sleep 5
39-
- name: Stop RabbitMQ application
40-
run: docker exec ${{job.services.rabbitmq.id}} rabbitmqctl stop_app
41-
- name: Start RabbitMQ application
42-
run: docker exec ${{job.services.rabbitmq.id}} rabbitmqctl start_app
32+
- name: Start broker
33+
run: ci/start-broker.sh
4334
- name: Test
44-
run: ./mvnw test -Drabbitmqctl.bin=DOCKER:${{job.services.rabbitmq.id}}
35+
run: |
36+
./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq \
37+
-Dca.certificate=./tls-gen/basic/result/ca_certificate.pem \
38+
-Dclient.certificate=./tls-gen/basic/result/client_$(hostname)_certificate.pem \
39+
-Dclient.key=./tls-gen/basic/result/client_$(hostname)_key.pem
40+
- name: Stop broker
41+
run: docker stop rabbitmq && docker rm rabbitmq
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Test against RabbitMQ 3.11 stable (PR)
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
env:
9+
RABBITMQ_IMAGE_TAG: 3.11
10+
RABBITMQ_IMAGE: rabbitmq
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-22.04
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
- name: Checkout tls-gen
19+
uses: actions/checkout@v3
20+
with:
21+
repository: rabbitmq/tls-gen
22+
path: './tls-gen'
23+
- name: Set up JDK
24+
uses: actions/setup-java@v3
25+
with:
26+
distribution: 'temurin'
27+
java-version: '17'
28+
cache: 'maven'
29+
- name: Start broker
30+
run: ci/start-broker.sh
31+
- name: Test
32+
run: |
33+
./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq \
34+
-Dca.certificate=./tls-gen/basic/result/ca_certificate.pem \
35+
-Dclient.certificate=./tls-gen/basic/result/client_$(hostname)_certificate.pem \
36+
-Dclient.key=./tls-gen/basic/result/client_$(hostname)_key.pem
37+
- name: Stop broker
38+
run: docker stop rabbitmq && docker rm rabbitmq
Lines changed: 85 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,104 @@
1-
name: Test against 3.11 stable
1+
name: Test against RabbitMQ 3.11 stable
22

33
on:
44
push:
55
branches:
66
- main
7-
pull_request:
8-
branches:
9-
- main
7+
workflow_dispatch:
8+
9+
env:
10+
RABBITMQ_IMAGE_TAG: 3.11
11+
RABBITMQ_IMAGE: rabbitmq
12+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
1013

1114
jobs:
1215
build:
1316
runs-on: ubuntu-22.04
1417

15-
services:
16-
rabbitmq:
17-
image: rabbitmq:3.11
18-
env:
19-
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: -rabbitmq_stream advertised_host localhost
20-
ports:
21-
- 5552:5552
22-
- 5672:5672
23-
- 1883:1883
24-
- 61613:61613
25-
2618
steps:
2719
- uses: actions/checkout@v3
28-
20+
- name: Checkout tls-gen
21+
uses: actions/checkout@v3
22+
with:
23+
repository: rabbitmq/tls-gen
24+
path: './tls-gen'
2925
- name: Set up JDK
3026
uses: actions/setup-java@v3
3127
with:
3228
distribution: 'temurin'
3329
java-version: '17'
3430
cache: 'maven'
35-
- name: Enable Stream, MQTT and STOMP plugins
36-
run: docker exec ${{job.services.rabbitmq.id}} rabbitmq-plugins enable rabbitmq_stream rabbitmq_mqtt rabbitmq_stomp --offline
37-
- name: Wait before stopping broker
38-
run: sleep 5
39-
- name: Stop RabbitMQ application
40-
run: docker exec ${{job.services.rabbitmq.id}} rabbitmqctl stop_app
41-
- name: Start RabbitMQ application
42-
run: docker exec ${{job.services.rabbitmq.id}} rabbitmqctl start_app
31+
server-id: ossrh
32+
server-username: MAVEN_USERNAME
33+
server-password: MAVEN_PASSWORD
34+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
35+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
36+
- name: Start broker
37+
run: ci/start-broker.sh
4338
- name: Test
44-
run: ./mvnw test -Drabbitmqctl.bin=DOCKER:${{job.services.rabbitmq.id}}
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)
48+
- name: Publish snapshot
49+
run: ./mvnw clean deploy -Psnapshots -DskipITs -DskipTests
50+
env:
51+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
52+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
53+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
54+
- name: Package Stream Perf Test
55+
run: ci/package-stream-perf-test.sh
56+
env:
57+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
58+
- name: Delete old releases
59+
uses: docker://pivotalrabbitmq/delete-release-action:latest
60+
with:
61+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
62+
token: ${{ secrets.CI_GITHUB_TOKEN }}
63+
tag-filter: '^v-stream-perf-test-0.[0-9]+.0-SNAPSHOT-[0-9]{8}-[0-9]{6}$'
64+
keep-last-n: 2
65+
- name: Push to GitHub Release
66+
uses: softprops/action-gh-release@v1
67+
with:
68+
files: packages/*
69+
name: ${{ env.release_name }}
70+
tag_name: ${{ env.tag_name }}
71+
target_commitish: main
72+
prerelease: true
73+
token: ${{ secrets.CI_GITHUB_TOKEN }}
74+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
75+
- name: Delete latest release
76+
uses: docker://pivotalrabbitmq/delete-release-action:latest
77+
with:
78+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
79+
token: ${{ secrets.CI_GITHUB_TOKEN }}
80+
tag-filter: '^v-stream-perf-test-latest$'
81+
keep-last-n: 0
82+
- name: Push to GitHub Release
83+
uses: softprops/action-gh-release@v1
84+
with:
85+
files: packages-latest/*
86+
name: stream-perf-test-latest
87+
tag_name: v-stream-perf-test-latest
88+
target_commitish: main
89+
prerelease: true
90+
token: ${{ secrets.CI_GITHUB_TOKEN }}
91+
repository: rabbitmq/rabbitmq-java-tools-binaries-dev
92+
- name: Trigger Stream Perf Test Docker image build
93+
uses: peter-evans/repository-dispatch@v2
94+
with:
95+
event-type: new_release
96+
client-payload: >-
97+
{"version": "${{ env.release_version }}",
98+
"url" : "https://github.com/rabbitmq/rabbitmq-java-tools-binaries-dev/releases/download/v-stream-perf-test-${{ env.release_version }}/stream-perf-test-${{ env.release_version }}.jar",
99+
"tags": "pivotalrabbitmq/stream-perf-test:dev,pivotalrabbitmq/stream-perf-test:${{ env.release_version }}"}
100+
- name: Publish Documentation
101+
run: |
102+
git config user.name "rabbitmq-ci"
103+
git config user.email "[email protected]"
104+
./publish-documentation-to-github-pages.sh

0 commit comments

Comments
 (0)