diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..6ed2cb3 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,51 @@ +name: CI + +on: + push: + branches: + - master + paths-ignore: + - "**.rst" + - "Docs/**" + pull_request: + paths-ignore: + - "**.rst" + - "Docs/**" + +jobs: + tests: + runs-on: ${{ matrix.os }} + strategy: + max-parallel: 3 + matrix: + os: [ubuntu-22.04] + cmake-version: [ +# "3.0.x", "3.4.x", "3.12.x", "3.14.x", "3.16.x", + "3.18.x", "3.20.x", "3.22.x", "3.24.x", "3.26.x", + "latest" + ] + include: + - os: ubuntu-22.04 + c-compiler: "gcc" + cxx-compiler: "g++" + + name: Tests on ${{ matrix.os }} using ${{ matrix.cmake-version }} + steps: + - uses: actions/checkout@v3 + + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v1.14.1 + with: + cmake-version: ${{ matrix.cmake-version }} + + - name: Setup ninja + uses: urkle/action-get-ninja@v1 + + - name: Configure + run: cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE:STRING=Release ${{github.workspace}}/Tests + env: + CC: ${{ matrix.c-compiler }} + CXX: ${{ matrix.cxx-compiler }} + + - name: Test + run: ctest --test-dir ${{github.workspace}}/build -C Release