name: Run tox on: pull_request: push: branches: - main - github-actions defaults: run: shell: bash jobs: tox: runs-on: ubuntu-latest strategy: matrix: python: ["3.10", "3.11", "3.12", "3.13"] toxenv: [core, interop, lint, wheel, demos] include: - python: "3.10" toxenv: docs fail-fast: false steps: - env: python: ${{ matrix.python }} toxenv: ${{ matrix.toxenv }} run: | if [[ "$toxenv" == 'docs' ]]; then echo 'TOXENV=docs' | tee -a $GITHUB_ENV else echo "TOXENV=py${python}-${toxenv}" | tr -d '.' | tee -a $GITHUB_ENV fi - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - run: | python -m pip install --upgrade pip python -m pip install tox - run: | python -m tox run -r windows: runs-on: windows-latest strategy: matrix: python-version: ["3.11", "3.12", "3.13"] toxenv: [core, wheel] fail-fast: false steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install tox - name: Test with tox shell: bash run: | if [[ "${{ matrix.toxenv }}" == "wheel" ]]; then python -m tox run -e windows-wheel else python -m tox run -e py311-${{ matrix.toxenv }} fi