@@ -279,87 +279,6 @@ jobs:
279279 - name : Python tests C++11
280280 run : cmake --build --preset testsvenv -t pytest
281281
282- deadsnakes :
283- if : github.event.pull_request.draft == false
284- strategy :
285- fail-fast : false
286- matrix :
287- include :
288- # TODO: Fails on 3.10, investigate
289- # JOB DISABLED (NEEDS WORK): https://github.com/pybind/pybind11/issues/4889
290- # - python-version: "3.9"
291- # python-debug: true
292- # valgrind: true
293- - python-version : " 3.11"
294- python-debug : false
295-
296- name : " 🐍 ${{ matrix.python-version }}${{ matrix.python-debug && '-dbg' || '' }} (deadsnakes)${{ matrix.valgrind && ' • Valgrind' || '' }} • x64"
297- runs-on : ubuntu-latest
298- timeout-minutes : 90
299-
300- steps :
301- - uses : actions/checkout@v6
302-
303- - name : Setup Python ${{ matrix.python-version }} (deadsnakes)
304- uses : deadsnakes/action@v3.2.0
305- with :
306- python-version : ${{ matrix.python-version }}
307- debug : ${{ matrix.python-debug }}
308-
309- - name : Update CMake
310- uses : jwlawson/actions-setup-cmake@v2.2
311-
312- - name : Valgrind cache
313- if : matrix.valgrind
314- uses : actions/cache@v5
315- id : cache-valgrind
316- with :
317- path : valgrind
318- key : 3.16.1 # Valgrind version
319-
320- - name : Compile Valgrind
321- if : matrix.valgrind && steps.cache-valgrind.outputs.cache-hit != 'true'
322- run : |
323- VALGRIND_VERSION=3.16.1
324- curl https://sourceware.org/pub/valgrind/valgrind-$VALGRIND_VERSION.tar.bz2 -o - | tar xj
325- mv valgrind-$VALGRIND_VERSION valgrind
326- cd valgrind
327- ./configure
328- make -j 2 > /dev/null
329-
330- - name : Install Valgrind
331- if : matrix.valgrind
332- working-directory : valgrind
333- run : |
334- sudo make install
335- sudo apt-get update
336- sudo apt-get install ninja-build libc6-dbg
337-
338- - name : Prepare env
339- run : |
340- python -m pip install -r tests/requirements.txt
341-
342- - name : Configure
343- run : cmake --preset default -DCMAKE_CXX_STANDARD=17
344-
345- - name : Build
346- run : cmake --build --preset default
347-
348- - name : Python tests
349- run : cmake --build --preset default --target pytest
350-
351- - name : C++ tests
352- timeout-minutes : 3
353- run : cmake --build --preset default --target cpptest
354-
355- - name : Visibility test
356- run : cmake --build --preset default --target test_cross_module_rtti
357-
358- - name : Run Valgrind on Python tests
359- if : matrix.valgrind
360- run : cmake --build --preset default --target memcheck
361-
362-
363282 # Testing on clang using the excellent silkeh clang docker images
364283 clang :
365284 if : github.event.pull_request.draft == false
0 commit comments