name: CI on: [pull_request, push] jobs: #################### Unittests #################### unittest: runs-on: ubuntu-latest strategy: matrix: python-version: [3.7,3.8,3.9,pypy3] steps: - name: Check out code from GitHub uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} id: python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: pip install --upgrade pip setuptools wheel tox tox-docker - name: Run unittest run: tox -v -e ${{ matrix.python-version }}-unit -- -v #################### Integration tests #################### integration: needs: [unittest] runs-on: ubuntu-latest strategy: matrix: python-version: [3.7,3.8,3.9,pypy3] steps: - name: Check out code from GitHub uses: actions/checkout@v3 - name: Build rabbitmq:tls container run: docker build -t rabbitmq:tls . - name: Set up Python ${{ matrix.python-version }} id: python uses: actions/setup-python@vv with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: pip install --upgrade pip setuptools wheel tox tox-docker - name: Run integration tests run: tox -v -e ${{ matrix.python-version }}-integration-rabbitmq -- -v - name: Run integration tests with speedups enabled run: | CELERY_ENABLE_SPEEDUPS=1 python setup.py develop tox -v -e ${{ matrix.python-version }}-integration-rabbitmq -- -v if: ${{ matrix.python-version != 'pypy3'}} #################### Linters and checkers #################### lint: needs: [unittest, integration] runs-on: ubuntu-latest strategy: matrix: python-version: [3.8] steps: - name: Check out code from GitHub uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} id: python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: pip install --upgrade pip setuptools wheel tox tox-docker - name: Run flake8 run: tox -v -e py-flake8 -- -v - name: Run pydocstyle run: tox -v -e py-pydocstyle -- -v - name: Run apicheck run: tox -v -e py-apicheck -- -v