Skip to content

Merge pull request #675 from rabbitmq/dependabot/maven/org.junit-juni… #701

Merge pull request #675 from rabbitmq/dependabot/maven/org.junit-juni…

Merge pull request #675 from rabbitmq/dependabot/maven/org.junit-juni… #701

Workflow file for this run

name: Test against RabbitMQ stable
on:
push:
branches:
- main
workflow_dispatch:
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Checkout tls-gen
uses: actions/checkout@v4
with:
repository: rabbitmq/tls-gen
path: './tls-gen'
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
cache: 'maven'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Start broker
run: ci/start-broker.sh
- name: Test (no dynamic-batch publishing)
run: |
./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq \
-Drabbitmq.stream.producer.dynamic.batch=false \
-Dca.certificate=./tls-gen/basic/result/ca_certificate.pem \
-Dclient.certificate=./tls-gen/basic/result/client_$(hostname)_certificate.pem \
-Dclient.key=./tls-gen/basic/result/client_$(hostname)_key.pem
- name: Test (dynamic-batch publishing)
run: |
./mvnw test -Drabbitmqctl.bin=DOCKER:rabbitmq \
-Drabbitmq.stream.producer.dynamic.batch=true \
-Dca.certificate=./tls-gen/basic/result/ca_certificate.pem \
-Dclient.certificate=./tls-gen/basic/result/client_$(hostname)_certificate.pem \
-Dclient.key=./tls-gen/basic/result/client_$(hostname)_key.pem
- name: Stop broker
run: docker stop rabbitmq && docker rm rabbitmq
- name: Start cluster
run: ci/start-cluster.sh
- name: Test against cluster
run: ./mvnw test -Dtest="*ClusterTest" -Drabbitmqctl.bin=DOCKER:rabbitmq0
- name: Stop cluster
run: docker compose --file ci/cluster/docker-compose.yml down
- name: Upload Codecov report
run: bash <(curl -s https://codecov.io/bash)
- name: Publish snapshot
run: ./mvnw clean deploy -Psnapshots -DskipITs -DskipTests
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Publish Documentation
run: |
git config user.name "rabbitmq-ci"
git config user.email "rabbitmq-ci@users.noreply.github.com"
ci/publish-documentation-to-github-pages.sh