# This file is managed by 'repo_helper'. Don't edit it directly. --- name: Windows on: push: branches-ignore: - 'repo-helper-update' - 'pre-commit-ci-update-config' - 'imgbot' pull_request: jobs: tests: permissions: actions: write contents: read name: "windows-2022 / Python ${{ matrix.config.python-version }}" runs-on: "windows-2022" continue-on-error: ${{ matrix.config.experimental }} env: USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False matrix: config: - {python-version: "3.7", testenvs: "py37-click{7,8.0,8.1},build", experimental: False} - {python-version: "3.8", testenvs: "py38-click{7,8.0,8.1},build", experimental: False} - {python-version: "3.9", testenvs: "py39-click{7,8.0,8.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-click{7,8.0,8.1,8.2},build", experimental: False} - {python-version: "3.11", testenvs: "py311-click{7,8.0,8.1,8.2},build", experimental: False} - {python-version: "3.12", testenvs: "py312-click{7,8.0,8.1,8.2},build", experimental: False} - {python-version: "3.13", testenvs: "py313-click{7,8.0,8.1,8.2},build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37-click{7,8.0,8.1},build", experimental: False} - {python-version: "pypy-3.8", testenvs: "pypy38-click{7,8.0,8.1}", experimental: False} - {python-version: "pypy-3.9-v7.3.16", testenvs: "pypy39-click{7,8.0,8.1}", experimental: True} steps: - name: Checkout 🛎️ uses: "actions/checkout@v4" - name: Check for changed files if: startsWith(github.ref, 'refs/tags/') != true uses: dorny/paths-filter@v2 id: changes with: list-files: "json" filters: | code: - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' - name: Setup Python 🐍 id: setup-python if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v5" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies 🔧 if: steps.setup-python.outcome == 'success' run: | python -VV python -m site python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade tox~=3.0 virtualenv!=20.16.0 - name: "Run Tests for Python ${{ matrix.config.python-version }}" if: steps.setup-python.outcome == 'success' run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" uses: actions/upload-artifact@v4 if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage include-hidden-files: true