3030jobs :
3131 stubtest-stdlib :
3232 name : " stubtest: stdlib"
33- if : ${{ github.repository == 'python/typeshed' || github.event_name == 'workflow_dispatch ' }}
33+ if : ${{ github.repository == 'python/typeshed' || github.event_name != 'schedule ' }}
3434 runs-on : ${{ matrix.os }}
3535 strategy :
3636 matrix :
3737 os : ["ubuntu-latest", "windows-latest", "macos-latest"]
38- python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev "]
38+ python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
3939 fail-fast : false
4040
4141 steps :
42- - uses : actions/checkout@v4
42+ - uses : actions/checkout@v5
4343 - name : Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
44- uses : actions/setup-python@v5
44+ uses : actions/setup-python@v6
4545 with :
4646 python-version : ${{ matrix.python-version }}
4747 cache : pip
@@ -55,16 +55,16 @@ jobs:
5555
5656 stubtest-third-party :
5757 name : " stubtest: third party"
58- if : ${{ github.repository == 'python/typeshed' || github.event_name == 'workflow_dispatch ' }}
58+ if : ${{ github.repository == 'python/typeshed' || github.event_name != 'schedule ' }}
5959 runs-on : ${{ matrix.os }}
6060 strategy :
6161 matrix :
6262 os : ["ubuntu-latest", "windows-latest", "macos-latest"]
6363 shard-index : [0, 1, 2, 3]
6464 fail-fast : false
6565 steps :
66- - uses : actions/checkout@v4
67- - uses : actions/setup-python@v5
66+ - uses : actions/checkout@v5
67+ - uses : actions/setup-python@v6
6868 with :
6969 python-version : " 3.13"
7070 cache : pip
@@ -73,50 +73,59 @@ jobs:
7373 stubs/**/METADATA.toml
7474 - name : Install dependencies
7575 run : pip install -r requirements-tests.txt
76- - name : Run stubtest
76+ - name : Install required system packages
7777 shell : bash
7878 run : |
7979 PACKAGES=$(python tests/get_stubtest_system_requirements.py)
8080
8181 if [ "${{ runner.os }}" = "Linux" ]; then
8282 if [ -n "$PACKAGES" ]; then
83+ printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n"
8384 sudo apt-get update -q && sudo apt-get install -qy $PACKAGES
8485 fi
85-
86- PYTHON_EXECUTABLE="xvfb-run python"
8786 else
8887 if [ "${{ runner.os }}" = "macOS" ] && [ -n "$PACKAGES" ]; then
88+ printf "Installing Homebrew packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n"
8989 brew install -q $PACKAGES
9090 fi
9191
9292 if [ "${{ runner.os }}" = "Windows" ] && [ -n "$PACKAGES" ]; then
93+ printf "Installing Chocolatey packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n"
9394 choco install -y $PACKAGES
9495 fi
95-
96+ fi
97+ - name : Run stubtest
98+ shell : bash
99+ run : |
100+ if [ "${{ runner.os }}" = "Linux" ]; then
101+ PYTHON_EXECUTABLE="xvfb-run python"
102+ else
96103 PYTHON_EXECUTABLE="python"
97104 fi
98105
99- $PYTHON_EXECUTABLE tests/stubtest_third_party.py --specified -platforms-only --num-shards 4 --shard-index ${{ matrix.shard-index }}
106+ $PYTHON_EXECUTABLE tests/stubtest_third_party.py --ci -platforms-only --num-shards 4 --shard-index ${{ matrix.shard-index }}
100107
101108 stub-uploader :
102109 name : stub_uploader tests
103- if : ${{ github.repository == 'python/typeshed' || github.event_name == 'workflow_dispatch ' }}
110+ if : ${{ github.repository == 'python/typeshed' || github.event_name != 'schedule ' }}
104111 runs-on : ubuntu-latest
105112 steps :
106113 - name : Checkout typeshed
107- uses : actions/checkout@v4
114+ uses : actions/checkout@v5
108115 with :
109116 path : typeshed
110117 - name : Checkout stub_uploader
111- uses : actions/checkout@v4
118+ uses : actions/checkout@v5
112119 with :
113120 repository : typeshed-internal/stub_uploader
114121 path : stub_uploader
115- - uses : actions/setup-python@v5
122+ - uses : actions/setup-python@v6
116123 with :
117124 # Keep in sync with stub_uploader's check_scripts.yml workflow.
118125 python-version : " 3.13"
119126 - uses : astral-sh/setup-uv@v6
127+ with :
128+ version-file : " typeshed/requirements-tests.txt"
120129 - name : Run tests
121130 run : |
122131 cd stub_uploader
@@ -132,7 +141,7 @@ jobs:
132141 permissions :
133142 issues : write
134143 steps :
135- - uses : actions/github-script@v7
144+ - uses : actions/github-script@v8
136145 with :
137146 github-token : ${{ secrets.GITHUB_TOKEN }}
138147 script : |
0 commit comments