diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43c8858..5419cbb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,72 +6,26 @@ on: pull_request: branches: [ master ] -env: - BUILD_TYPE: Debug - jobs: - linux: + build_matrix: + strategy: + matrix: + BUILD_TYPE: [Debug, Release] + os: [ubuntu-latest, macos-latest, windows-latest] + timeout-minutes: 10 - - runs-on: ubuntu-latest - + runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 - with: - submodules: recursive + - uses: actions/checkout@v3 + with: + submodules: recursive - - name: Configure CMake - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{matrix.BUILD_TYPE}} -j 3 - - name: Test - run: ctest --test-dir ${{github.workspace}}/build -C ${{env.BUILD_TYPE}} --verbose - - macos: - timeout-minutes: 10 - - runs-on: macos-latest - - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install Dependencies - run: brew install libsodium - - - name: Configure CMake - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 3 - - - name: Test - run: ctest --test-dir ${{github.workspace}}/build -C ${{env.BUILD_TYPE}} --verbose - - windows: - timeout-minutes: 10 - - runs-on: windows-latest - - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - # setup vs env - - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: amd64 - - - name: Configure CMake - run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 3 - - - name: Test - run: ctest --test-dir ${{github.workspace}}/build -C ${{env.BUILD_TYPE}} --verbose + - name: Test + run: ctest --test-dir ${{github.workspace}}/build -C ${{matrix.BUILD_TYPE}} --verbose