Skip to content

ci

ci #607

Workflow file for this run

name: Test against a RabbitMQ broker
on:
push:
branches:
- v2_main
pull_request:
branches:
- v2_main
types:
- opened
- synchronize
jobs:
ci:
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
os: [ubuntu-24.04]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Check formatting and lint
run: make lint PYTHON=python
- name: Type check
run: make typecheck PYTHON=python
- name: Run unit tests
run: make test-unit PYTHON=python
- name: Start RabbitMQ
id: start-rabbitmq
run: ${{ github.workspace }}/.ci/ubuntu/gha-setup.sh
- name: Run integration tests
run: make test-integration PYTHON=python
- name: Check RabbitMQ logs for errors
if: always()
run: ${{ github.workspace }}/.ci/ubuntu/gha-log-check.sh
- name: Upload RabbitMQ logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: rabbitmq-logs-${{ matrix.python-version }}-${{ matrix.os }}
path: .ci/ubuntu/log/rabbitmq.log
if-no-files-found: ignore