name: Main on: push: branches: - main pull_request: types: [opened, synchronize, reopened, ready_for_review] jobs: quality: runs-on: ubuntu-latest steps: - name: Check out uses: actions/checkout@v4 - uses: actions/cache@v4 with: path: ~/.cache/pre-commit key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} - name: Set up the environment uses: ./.github/actions/setup-poetry-env - name: Run checks run: make check tox: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", "3.11", "3.12"] fail-fast: false steps: - name: Check out uses: actions/checkout@v4 - name: Set up python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Poetry uses: snok/install-poetry@v1 with: version: 1.8.5 - name: Load cached venv uses: actions/cache@v4 with: path: .tox key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('arcade/poetry.lock') }} - name: Install tox run: | python -m pip install --upgrade pip python -m pip install tox tox-gh-actions - name: Test with tox run: cd arcade && tox - name: Upload coverage reports to Codecov with GitHub Action on Python 3.10 uses: codecov/codecov-action@v4.0.1 if: ${{ matrix.python-version == '3.10' }} with: token: ${{ secrets.CODECOV_TOKEN }}