ci: Add clang builds & C++17

This commit is contained in:
Henry Schreiner 2020-07-23 20:30:47 -04:00 committed by Henry Schreiner
parent 7e0a4fb7d0
commit 6a80171c42

View File

@ -60,22 +60,90 @@ jobs:
- name: Prepare env - name: Prepare env
run: python -m pip install -r tests/requirements.txt run: python -m pip install -r tests/requirements.txt
- name: Configure - name: Configure C++11
shell: bash shell: bash
run: > run: >
cmake --version &&
cmake -S . -B build cmake -S . -B build
-DPYBIND11_WERROR=ON -DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON -DDOWNLOAD_CATCH=ON
-DCMAKE_CXX_STANDARD=11
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)") -DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
- name: Build C++11
run: cmake --build build -j 2
- name: Python tests C++11
run: cmake --build build --target pytest -j 2 -v
- name: C++11 tests
run: cmake --build build --target cpptest -j 2 -v
- name: Interface test C++11
run: cmake --build build --target test_cmake_build
- name: Configure C++17
shell: bash
run: >
cmake -S . -B build17
-DPYBIND17_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DCMAKE_CXX_STANDARD=17
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
- name: Build C++17
run: cmake --build build17 -j 2
- name: Python tests C++17
run: cmake --build build17 --target pytest
- name: C++17 tests
run: cmake --build build17 --target cpptest
- name: Interface test C++17
run: cmake --build build17 --target test_cmake_build
clang:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
clang:
- 3.6
- 3.7
- 3.8
- 3.9
- 5
- 7
- 9
- dev
name: Clang ${{ matrix.clang }}
container: "silkeh/clang:${{ matrix.clang }}"
steps:
- uses: actions/checkout@v2
- name: Add wget and python3
run: apt-get update && apt-get install -y python3-dev python3-numpy python3-pytest
- name: Configure
shell: bash
run: >
cmake --version &&
cmake -S . -B build
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
- name: Build - name: Build
run: cmake --build build -j 2 run: cmake --build build -j 2
- name: Python tests - name: Python tests
run: cmake --build build --target pytest -j 2 -v run: cmake --build build --target pytest
- name: C++ tests - name: C++ tests
run: cmake --build build --target cpptest -j 2 -v run: cmake --build build --target cpptest
- name: Interface test - name: Interface test
run: cmake --build build --target test_cmake_build run: cmake --build build --target test_cmake_build