name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build-and-test: name: Build & Test (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: matrix: os: [ windows-2022, ubuntu-20.04, macos-11 ] steps: - uses: actions/checkout@v2 with: submodules: true - name: Add msbuild to PATH (Windows only) if: ${{ matrix.os == 'windows-2022' }} uses: microsoft/setup-msbuild@v1.1 with: vs-version: '[17,18)' msbuild-architecture: x64 - name: Install libssl (Mac Only) if: ${{ matrix.os == 'macos-11' }} run: brew install openssl@3 - name: cmake uses: lukka/run-cmake@v10 with: configurePreset: "ci-${{matrix.os}}" buildPreset: "ci-${{matrix.os}}" testPreset: "ci-${{matrix.os}}" - name: artifacts uses: actions/upload-artifact@v2 if: ${{ github.ref == 'ref/head/main' }} with: name: build-${{matrix.os}} path: | build !build/tests !build/Testing !build/CMakeFiles !build/DartConfiguration.tcl !build/CTestTestfile.cmake !build/CMakeCache.txt !build/build.ninja !build/_deps !build/cmake_install.cmake !build/*.a !build/*.lib !build/*.dir !build/*.vcxproj !build/*.vcxproj.filters