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