1- name : Test against 3.11 stable
1+ name : Test against RabbitMQ 3.11 stable
22
33on :
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
1114jobs :
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 "rabbitmq-ci@users.noreply.github.com"
104+ ./publish-documentation-to-github-pages.sh
0 commit comments