@@ -967,3 +967,73 @@ jobs:
967967
968968 - name : Interface test C++17
969969 run : PYTHONHOME=/${{matrix.sys}} PYTHONPATH=/${{matrix.sys}} cmake --build build3 --target test_cmake_build
970+
971+ windows_clang :
972+
973+ strategy :
974+ matrix :
975+ os : [windows-latest]
976+ python : ['3.10']
977+
978+ runs-on : " ${{ matrix.os }}"
979+
980+ name : " 🐍 ${{ matrix.python }} • ${{ matrix.os }} • clang-latest"
981+
982+ steps :
983+ - name : Show env
984+ run : env
985+
986+ - name : Checkout
987+ uses : actions/checkout@v3
988+
989+ - name : Set up Clang
990+ uses : egor-tensin/setup-clang@v1
991+
992+ - name : Setup Python ${{ matrix.python }}
993+ uses : actions/setup-python@v4
994+ with :
995+ python-version : ${{ matrix.python }}
996+
997+ - name : Update CMake
998+ 999+
1000+ - name : Install ninja-build tool
1001+ uses : seanmiddleditch/gha-setup-ninja@v3
1002+
1003+ - name : Run pip installs
1004+ run : |
1005+ python -m pip install --upgrade pip
1006+ python -m pip install -r tests/requirements.txt
1007+
1008+ - name : Show Clang++ version
1009+ run : clang++ --version
1010+
1011+ - name : Show CMake version
1012+ run : cmake --version
1013+
1014+ # TODO: WERROR=ON
1015+ - name : Configure Clang
1016+ run : >
1017+ cmake -G Ninja -S . -B .
1018+ -DCMAKE_VERBOSE_MAKEFILE=ON
1019+ -DPYBIND11_WERROR=OFF
1020+ -DPYBIND11_SIMPLE_GIL_MANAGEMENT=OFF
1021+ -DDOWNLOAD_CATCH=ON
1022+ -DDOWNLOAD_EIGEN=ON
1023+ -DCMAKE_CXX_COMPILER=clang++
1024+ -DCMAKE_CXX_STANDARD=17
1025+
1026+ - name : Build
1027+ run : cmake --build . -j 2
1028+
1029+ - name : Python tests
1030+ run : cmake --build . --target pytest -j 2
1031+
1032+ - name : C++ tests
1033+ run : cmake --build . --target cpptest -j 2
1034+
1035+ - name : Interface test
1036+ run : cmake --build . --target test_cmake_build -j 2
1037+
1038+ - name : Clean directory
1039+ run : git clean -fdx
0 commit comments