Lines Matching +full:runs +full:- +full:on
3 on:
8 - master
9 - stable
10 - v*
17 fail-fast: false
19 runs-on: [ubuntu-latest, windows-latest, macos-latest]
21 - 2.7
22 - 3.5
23 - 3.6
24 - 3.9
25 # - 3.10-dev # Re-enable once 3.10.0a5 is released
26 - pypy2
27 - pypy3
37 - runs-on: ubuntu-latest
40 -DPYBIND11_FINDPYTHON=ON
41 - runs-on: windows-latest
44 -DPYBIND11_FINDPYTHON=ON
49 - runs-on: windows-latest
51 - runs-on: windows-latest
55 - runs-on: ubuntu-latest
58 name: " ${{ matrix.python }} • ${{ matrix.runs-on }} • x64 ${{ matrix.args }}"
59 runs-on: ${{ matrix.runs-on }}
62 - uses: actions/checkout@v2
64 - name: Setup Python ${{ matrix.python }}
65 uses: actions/setup-python@v2
67 python-version: ${{ matrix.python }}
69 - name: Setup Boost (Windows / Linux latest)
73 - name: Update CMake
74 uses: jwlawson/actions-setup-cmake@v1.7
76 - name: Cache wheels
80 # This path is specific to macOS - we really only need it for PyPy NumPy wheels
81 # See https://github.com/actions/cache/blob/master/examples.md#python---pip
85 … key: ${{ runner.os }}-pip-${{ matrix.python }}-x64-${{ hashFiles('tests/requirements.txt') }}
87 - name: Prepare env
88 run: python -m pip install -r tests/requirements.txt --prefer-binary
90 - name: Setup annotations on Linux
92 run: python -m pip install pytest-github-actions-annotate-failures
94 # First build - C++11 mode and inplace
95 - name: Configure C++11 ${{ matrix.args }}
97 cmake -S . -B .
98 -DPYBIND11_WERROR=ON
99 -DDOWNLOAD_CATCH=ON
100 -DDOWNLOAD_EIGEN=ON
101 -DCMAKE_CXX_STANDARD=11
104 - name: Build C++11
105 run: cmake --build . -j 2
107 - name: Python tests C++11
108 run: cmake --build . --target pytest -j 2
110 - name: C++11 tests
111 # TODO: Figure out how to load the DLL on Python 3.8+
112 ….os == 'Windows' && (matrix.python == 3.8 || matrix.python == 3.9 || matrix.python == '3.10-dev'))"
113 run: cmake --build . --target cpptest -j 2
115 - name: Interface test C++11
116 run: cmake --build . --target test_cmake_build
118 - name: Clean directory
119 run: git clean -fdx
121 # Second build - C++17 mode and in a build directory
122 - name: Configure ${{ matrix.args2 }}
124 cmake -S . -B build2
125 -DPYBIND11_WERROR=ON
126 -DDOWNLOAD_CATCH=ON
127 -DDOWNLOAD_EIGEN=ON
128 -DCMAKE_CXX_STANDARD=17
132 - name: Build
133 run: cmake --build build2 -j 2
135 - name: Python tests
136 run: cmake --build build2 --target pytest
138 - name: C++ tests
139 # TODO: Figure out how to load the DLL on Python 3.8+
140 ….os == 'Windows' && (matrix.python == 3.8 || matrix.python == 3.9 || matrix.python == '3.10-dev'))"
141 run: cmake --build build2 --target cpptest
143 - name: Interface test
144 run: cmake --build build2 --target test_cmake_build
148 - name: Prepare compiler environment for Windows 2.7
150 uses: ilammy/msvc-dev-cmd@v1
155 - name: Set Windows 2.7 environment variables
164 - name: Setuptools helpers test
170 fail-fast: false
173 - python-version: 3.9
174 python-debug: true
176 - python-version: 3.10-dev
177 python-debug: false
179 …name: " ${{ matrix.python-version }}${{ matrix.python-debug && '-dbg' || '' }} (deadsnakes)${{ m…
180 runs-on: ubuntu-latest
183 - uses: actions/checkout@v2
185 - name: Setup Python ${{ matrix.python-version }} (deadsnakes)
188 python-version: ${{ matrix.python-version }}
189 debug: ${{ matrix.python-debug }}
191 - name: Update CMake
192 uses: jwlawson/actions-setup-cmake@v1.7
194 - name: Valgrind cache
197 id: cache-valgrind
202 - name: Compile Valgrind
203 if: matrix.valgrind && steps.cache-valgrind.outputs.cache-hit != 'true'
206 curl https://sourceware.org/pub/valgrind/valgrind-$VALGRIND_VERSION.tar.bz2 -o - | tar xj
207 mv valgrind-$VALGRIND_VERSION valgrind
210 make -j 2 > /dev/null
212 - name: Install Valgrind
214 working-directory: valgrind
217 sudo apt-get update
218 sudo apt-get install libc6-dbg # Needed by Valgrind
220 - name: Prepare env
221 run: python -m pip install -r tests/requirements.txt --prefer-binary
223 - name: Configure
225 cmake -S . -B build
226 -DCMAKE_BUILD_TYPE=Debug
227 -DPYBIND11_WERROR=ON
228 -DDOWNLOAD_CATCH=ON
229 -DDOWNLOAD_EIGEN=ON
230 -DCMAKE_CXX_STANDARD=17
232 - name: Build
233 run: cmake --build build -j 2
235 - name: Python tests
236 run: cmake --build build --target pytest
238 - name: C++ tests
239 run: cmake --build build --target cpptest
241 - name: Run Valgrind on Python tests
243 run: cmake --build build --target memcheck
246 # Testing on clang using the excellent silkeh clang docker images
248 runs-on: ubuntu-latest
250 fail-fast: false
253 - 3.6
254 - 3.7
255 - 3.9
256 - 7
257 - 9
258 - dev
260 - 11
262 - clang: 5
264 - clang: 10
266 - clang: 10
273 - uses: actions/checkout@v2
275 - name: Add wget and python3
276 … run: apt-get update && apt-get install -y python3-dev python3-numpy python3-pytest libeigen3-dev
278 - name: Configure
281 cmake -S . -B build
282 -DPYBIND11_WERROR=ON
283 -DDOWNLOAD_CATCH=ON
284 -DCMAKE_CXX_STANDARD=${{ matrix.std }}
285 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
287 - name: Build
288 run: cmake --build build -j 2
290 - name: Python tests
291 run: cmake --build build --target pytest
293 - name: C++ tests
294 run: cmake --build build --target cpptest
296 - name: Interface test
297 run: cmake --build build --target test_cmake_build
302 runs-on: ubuntu-latest
304 container: nvidia/cuda:11.0-devel-ubuntu20.04
307 - uses: actions/checkout@v2
310 - name: Install 3
311 …run: apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y cmake git python3-dev p…
313 - name: Configure
314 run: cmake -S . -B build -DPYBIND11_CUDA_TESTS=ON -DPYBIND11_WERROR=ON -DDOWNLOAD_CATCH=ON
316 - name: Build
317 run: cmake --build build -j2 --verbose
319 - name: Python tests
320 run: cmake --build build --target pytest
323 # TODO: Internal compiler error - report to NVidia
325 # centos-nvhpc8:
326 # runs-on: ubuntu-latest
331 # - uses: actions/checkout@v2
333 # - name: Add Python 3 and a few requirements
334 # run: yum update -y && yum install -y git python3-devel python3-numpy python3-pytest make env…
336 # - name: Install CMake with pip
338 # python3 -m pip install --upgrade pip
339 # python3 -m pip install cmake --prefer-binary
341 # - name: Install NVidia HPC SDK
343 # yum -y install
344 # https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc-20-11-20.11-1.x86_64.rpm
345 # https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc-2020-20.11-1.x86_64.rpm
347 # - name: Configure
352 # cmake -S . -B build -DDOWNLOAD_CATCH=ON -DCMAKE_CXX_STANDARD=14 -DPYTHON_EXECUTABLE=$(pyth…
354 # - name: Build
355 # run: cmake --build build -j 2 --verbose
357 # - name: Python tests
358 # run: cmake --build build --target pytest
360 # - name: C++ tests
361 # run: cmake --build build --target cpptest
363 # - name: Interface test
364 # run: cmake --build build --target test_cmake_build
367 # Testing on CentOS 7 + PGI compilers, which seems to require more workarounds
368 centos-nvhpc7:
369 runs-on: ubuntu-latest
374 - uses: actions/checkout@v2
376 - name: Add Python 3 and a few requirements
377 …run: yum update -y && yum install -y epel-release && yum install -y git python3-devel make environ…
379 - name: Install NVidia HPC SDK
380 …-y install https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc-20-9-20.9-1.x86_64.rpm https:/…
382 # On CentOS 7, we have to filter a few tests (compiler internal error)
383 # and allow deeper templete recursion (not needed on CentOS 8 with a newer
384 # standard library). On some systems, you many need further workarounds:
386 - name: Configure
391 cmake3 -S . -B build -DDOWNLOAD_CATCH=ON \
392 -DCMAKE_CXX_STANDARD=11 \
393 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \
394 -DCMAKE_CXX_FLAGS="-Wc,--pending_instantiations=0" \
395 -DPYBIND11_TEST_FILTER="test_smart_ptr.cpp;test_virtual_functions.cpp"
398 - name: Build
399 run: cmake3 --build build -j 2 --verbose
401 - name: Install CMake with pip
403 python3 -m pip install --upgrade pip
404 python3 -m pip install pytest
406 - name: Python tests
407 run: cmake3 --build build --target pytest
409 - name: C++ tests
410 run: cmake3 --build build --target cpptest
412 - name: Interface test
413 run: cmake3 --build build --target test_cmake_build
416 # Testing on GCC using the GCC docker images (only recent images supported)
418 runs-on: ubuntu-latest
420 fail-fast: false
423 - 7
424 - latest
426 - 11
428 - gcc: 10
435 - uses: actions/checkout@v1
437 - name: Add Python 3
438 …run: apt-get update; apt-get install -y python3-dev python3-numpy python3-pytest python3-pip libei…
440 - name: Update pip
441 run: python3 -m pip install --upgrade pip
443 - name: Update CMake
444 uses: jwlawson/actions-setup-cmake@v1.7
446 - name: Configure
449 cmake -S . -B build
450 -DPYBIND11_WERROR=ON
451 -DDOWNLOAD_CATCH=ON
452 -DCMAKE_CXX_STANDARD=${{ matrix.std }}
453 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
455 - name: Build
456 run: cmake --build build -j 2
458 - name: Python tests
459 run: cmake --build build --target pytest
461 - name: C++ tests
462 run: cmake --build build --target cpptest
464 - name: Interface test
465 run: cmake --build build --target test_cmake_build
468 # Testing on ICC using the oneAPI apt repo
470 runs-on: ubuntu-20.04
472 fail-fast: false
477 - uses: actions/checkout@v2
479 - name: Add apt repo
481 sudo apt-get update
482 sudo apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg
483 wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
484 sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
487 - name: Add ICC & Python 3
488 …do apt-get update; sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic cmake p…
490 - name: Update pip
492 set +e; source /opt/intel/oneapi/setvars.sh; set -e
493 python3 -m pip install --upgrade pip
495 - name: Install dependencies
497 set +e; source /opt/intel/oneapi/setvars.sh; set -e
498 python3 -m pip install -r tests/requirements.txt --prefer-binary
500 - name: Configure C++11
502 set +e; source /opt/intel/oneapi/setvars.sh; set -e
503 cmake -S . -B build-11 \
504 -DPYBIND11_WERROR=ON \
505 -DDOWNLOAD_CATCH=ON \
506 -DDOWNLOAD_EIGEN=OFF \
507 -DCMAKE_CXX_STANDARD=11 \
508 -DCMAKE_CXX_COMPILER=$(which icpc) \
509 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
511 - name: Build C++11
513 set +e; source /opt/intel/oneapi/setvars.sh; set -e
514 cmake --build build-11 -j 2 -v
516 - name: Python tests C++11
518 set +e; source /opt/intel/oneapi/setvars.sh; set -e
520 cmake --build build-11 --target check
522 - name: C++ tests C++11
524 set +e; source /opt/intel/oneapi/setvars.sh; set -e
525 cmake --build build-11 --target cpptest
527 - name: Interface test C++11
529 set +e; source /opt/intel/oneapi/setvars.sh; set -e
530 cmake --build build-11 --target test_cmake_build
532 - name: Configure C++17
534 set +e; source /opt/intel/oneapi/setvars.sh; set -e
535 cmake -S . -B build-17 \
536 -DPYBIND11_WERROR=ON \
537 -DDOWNLOAD_CATCH=ON \
538 -DDOWNLOAD_EIGEN=OFF \
539 -DCMAKE_CXX_STANDARD=17 \
540 -DCMAKE_CXX_COMPILER=$(which icpc) \
541 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
543 - name: Build C++17
545 set +e; source /opt/intel/oneapi/setvars.sh; set -e
546 cmake --build build-17 -j 2 -v
548 - name: Python tests C++17
550 set +e; source /opt/intel/oneapi/setvars.sh; set -e
552 cmake --build build-17 --target check
554 - name: C++ tests C++17
556 set +e; source /opt/intel/oneapi/setvars.sh; set -e
557 cmake --build build-17 --target cpptest
559 - name: Interface test C++17
561 set +e; source /opt/intel/oneapi/setvars.sh; set -e
562 cmake --build build-17 --target test_cmake_build
565 # Testing on CentOS (manylinux uses a centos base, and this is an easy way
568 runs-on: ubuntu-latest
570 fail-fast: false
573 - 7 # GCC 4.8
574 - 8
580 - uses: actions/checkout@v2
582 - name: Add Python 3
583 run: yum update -y && yum install -y python3-devel gcc-c++ make git
585 - name: Update pip
586 run: python3 -m pip install --upgrade pip
588 - name: Install dependencies
589 run: python3 -m pip install cmake -r tests/requirements.txt --prefer-binary
591 - name: Configure
594 cmake -S . -B build
595 -DPYBIND11_WERROR=ON
596 -DDOWNLOAD_CATCH=ON
597 -DDOWNLOAD_EIGEN=ON
598 -DCMAKE_CXX_STANDARD=11
599 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
601 - name: Build
602 run: cmake --build build -j 2
604 - name: Python tests
605 run: cmake --build build --target pytest
607 - name: C++ tests
608 run: cmake --build build --target cpptest
610 - name: Interface test
611 run: cmake --build build --target test_cmake_build
615 install-classic:
617 runs-on: ubuntu-latest
621 - uses: actions/checkout@v1
623 - name: Install requirements
625 apt-get update
626 apt-get install -y git make cmake g++ libeigen3-dev python3-dev python3-pip
629 - name: Configure for install
632 -DPYBIND11_INSTALL=1 -DPYBIND11_TEST=0
633 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
635 - name: Make and install
638 - name: Copy tests to new directory
639 run: cp -a tests /pybind11-tests
641 - name: Make a new test directory
642 run: mkdir /build-tests
644 - name: Configure tests
646 cmake ../pybind11-tests
647 -DDOWNLOAD_CATCH=ON
648 -DPYBIND11_WERROR=ON
649 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
650 working-directory: /build-tests
652 - name: Run tests
653 run: make pytest -j 2
654 working-directory: /build-tests
658 # basic sanity check on the SDist.
661 runs-on: ubuntu-latest
664 - uses: actions/checkout@v2
666 - uses: actions/setup-python@v2
668 - name: Install Doxygen
669 run: sudo apt-get install -y doxygen librsvg2-bin # Changed to rsvg-convert in 20.04
671 - name: Install docs & setup requirements
672 run: python3 -m pip install -r docs/requirements.txt
674 - name: Build docs
675 run: python3 -m sphinx -W -b html docs docs/.build
677 - name: Make SDist
680 - run: git status --ignored
682 - name: Check local include dir
685 …python3 -c "import pybind11, pathlib; assert (a := pybind11.get_include()) == (b := str(pathlib.Pa…
687 - name: Compare Dists (headers only)
688 working-directory: include
690 python3 -m pip install --user -U ../dist/*
691 installed=$(python3 -c "import pybind11; print(pybind11.get_include() + '/pybind11')")
692 diff -rq $installed ./pybind11
696 fail-fast: false
699 - 3.5
700 - 3.6
701 - 3.7
702 - 3.8
703 - 3.9
704 - pypy3
705 # TODO: fix hang on pypy2
708 - python: 3.9
709 args: -DCMAKE_CXX_STANDARD=20 -DDOWNLOAD_EIGEN=OFF
710 - python: 3.8
711 args: -DCMAKE_CXX_STANDARD=17
714 runs-on: windows-latest
717 - uses: actions/checkout@v2
719 - name: Setup Python ${{ matrix.python }}
720 uses: actions/setup-python@v2
722 python-version: ${{ matrix.python }}
725 - name: Update CMake
726 uses: jwlawson/actions-setup-cmake@v1.7
728 - name: Prepare MSVC
729 uses: ilammy/msvc-dev-cmd@v1
733 - name: Prepare env
734 run: python -m pip install -r tests/requirements.txt --prefer-binary
736 # First build - C++11 mode and inplace
737 - name: Configure ${{ matrix.args }}
739 cmake -S . -B build
740 -G "Visual Studio 16 2019" -A Win32
741 -DPYBIND11_WERROR=ON
742 -DDOWNLOAD_CATCH=ON
743 -DDOWNLOAD_EIGEN=ON
745 - name: Build C++11
746 run: cmake --build build -j 2
748 - name: Run tests
749 run: cmake --build build -t pytest
751 win32-msvc2015:
753 runs-on: windows-latest
755 fail-fast: false
758 - 2.7
759 - 3.6
760 - 3.7
764 - uses: actions/checkout@v2
766 - name: Setup ${{ matrix.python }}
767 uses: actions/setup-python@v2
769 python-version: ${{ matrix.python }}
771 - name: Update CMake
772 uses: jwlawson/actions-setup-cmake@v1.7
774 - name: Prepare MSVC
775 uses: ilammy/msvc-dev-cmd@v1
779 - name: Prepare env
780 run: python -m pip install -r tests/requirements.txt --prefer-binary
782 # First build - C++11 mode and inplace
783 - name: Configure
785 cmake -S . -B build
786 -G "Visual Studio 14 2015" -A x64
787 -DPYBIND11_WERROR=ON
788 -DDOWNLOAD_CATCH=ON
789 -DDOWNLOAD_EIGEN=ON
791 - name: Build C++14
792 run: cmake --build build -j 2
794 - name: Run all checks
795 run: cmake --build build -t check
798 win32-msvc2017:
800 runs-on: windows-2016
802 fail-fast: false
805 - 2.7
806 - 3.5
807 - 3.7
809 - 14
812 - python: 2.7
815 -DCMAKE_CXX_FLAGS="/permissive- /EHsc /GR"
818 - uses: actions/checkout@v2
820 - name: Setup ${{ matrix.python }}
821 uses: actions/setup-python@v2
823 python-version: ${{ matrix.python }}
825 - name: Update CMake
826 uses: jwlawson/actions-setup-cmake@v1.7
828 - name: Prepare env
829 run: python -m pip install -r tests/requirements.txt --prefer-binary
831 # First build - C++11 mode and inplace
832 - name: Configure
834 cmake -S . -B build
835 -G "Visual Studio 15 2017" -A x64
836 -DPYBIND11_WERROR=ON
837 -DDOWNLOAD_CATCH=ON
838 -DDOWNLOAD_EIGEN=ON
839 -DCMAKE_CXX_STANDARD=${{ matrix.std }}
842 - name: Build ${{ matrix.std }}
843 run: cmake --build build -j 2
845 - name: Run all checks
846 run: cmake --build build -t check