name: Stdlib stubtest on: workflow_dispatch: push: branches: - main pull_request: paths: - "stdlib/**" - ".github/workflows/stubtest_stdlib.yml" - "tests/**" # When requirements.txt changes, we run `daily.yml`, which includes stdlib stubtest permissions: contents: read env: PIP_DISABLE_PIP_VERSION_CHECK: 1 FORCE_COLOR: 1 TERM: xterm-256color # needed for FORCE_COLOR to work on mypy on Ubuntu, see https://github.com/python/mypy/issues/13817 concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: stubtest-stdlib: name: "stubtest: stdlib" runs-on: ${{ matrix.os }} strategy: matrix: os: ["ubuntu-latest", "windows-latest", "macos-latest"] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: pip cache-dependency-path: requirements-tests.txt allow-prereleases: true check-latest: true - name: Install dependencies run: pip install -r requirements-tests.txt - name: Run stubtest run: python tests/stubtest_stdlib.py