Skip to content

new_alpha_40

new_alpha_40 #120

Workflow file for this run

name: Jepsen Tests for RabbitMQ
on:
workflow_dispatch:
inputs:
binary_url:
description: 'URL of the generic Unix package (e.g. https://github.com/rabbitmq/server-packages/releases/download/alphas.1731926502914/rabbitmq-server-generic-unix-4.1.0-alpha.047cc5a0.tar.xz)'
required: true
type: string
concurrency_group:
description: 'Concurrency group to avoid concurrent runs (e.g. new_alpha_41)'
default: 'new_alpha_41'
required: true
type: string
skip_check:
description: 'Skip the last execution check'
default: false
required: true
type: boolean
repository_dispatch:
types: [new_alpha_40, new_alpha_41]
concurrency:
group: ${{ inputs.concurrency_group != '' && inputs.concurrency_group || github.event.action }}
cancel-in-progress: false
env:
BINARY_URL: ${{ inputs.binary_url != '' && inputs.binary_url || github.event.client_payload.binary_url }}
SKIP_CHECK: ${{ inputs.skip_check != '' && inputs.skip_check || false }}
jobs:
check-last-execution-time:
runs-on: ubuntu-24.04
outputs:
allow_execution: ${{ steps.check.outputs.allow_execution }}
steps:
- uses: actions/checkout@v4
- name: Check last execution
id: check
run: ci/check-last-execution.sh
env:
GH_TOKEN: ${{ github.token }}
- uses: actions/upload-artifact@v4
with:
name: ${{ env.LAST_EXECUTION_ARTIFACT }}
path: last-execution.txt
jepsen-test:
needs: check-last-execution-time
if: ${{ needs.check-last-execution-time.outputs.allow_execution == 'true' }}
runs-on: ubuntu-24.04
container:
image: pivotalrabbitmq/jepsen
steps:
- uses: actions/checkout@v4
- name: Check binary signature
run: |
curl -L https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc --output rabbitmq-release-signing-key.asc
gpg --import rabbitmq-release-signing-key.asc
wget $BINARY_URL
wget $BINARY_URL.asc
BINARY_FILENAME=$(basename $BINARY_URL)
gpg --verify $BINARY_FILENAME.asc $BINARY_FILENAME
- name: Jepsen tests on RabbitMQ
run: ci/jepsen-test.sh
env:
AWS_CONFIG: ${{ secrets.AWS_CONFIG }}
AWS_CREDENTIALS: ${{ secrets.AWS_CREDENTIALS }}
- name: Stop cluster
if: always()
working-directory: terraform-state
run: |
terraform init
terraform destroy -auto-approve -var="rabbitmq_branch=$RABBITMQ_BRANCH"
aws ec2 delete-key-pair --no-cli-pager --key-name "jepsen-qq-$RABBITMQ_BRANCH-key"
- name: Delete configuration
if: always()
run: |
rm -rf ~/.aws
rm -rf terraform-state
rm -rf terraform.tfstate