diff options
author | Davide Beatrici <git@davidebeatrici.dev> | 2021-03-10 03:29:05 +0300 |
---|---|---|
committer | Davide Beatrici <git@davidebeatrici.dev> | 2021-03-10 03:59:47 +0300 |
commit | b7f5d8d735b280fc77673c4a29f0436a92ca6660 (patch) | |
tree | 19f612c7e57d3bbebfa6cbbc571474c0996195f3 | |
parent | 8b0b250f2cb9bdeef9730c432c002acd8e6f614f (diff) |
Set up CI with GitHub Actions
-rw-r--r-- | .github/workflows/build.yml | 38 | ||||
-rw-r--r-- | .github/workflows/windows_build.bat | 8 |
2 files changed, 46 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..3d75029 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,38 @@ +on: [push, pull_request] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - uses: actions/cache@v2 + if: runner.os == 'Windows' + with: + key: 'vcpkg-${{matrix.os}}' + path: 'C:/vcpkg/installed' + + - uses: knicknic/os-specific-run@v1.0.3 + name: Install dependencies + with: + linux: sudo apt-get -y install ninja-build zlib1g-dev + macos: brew install ninja zlib + windows: vcpkg install zlib --triplet x64-windows-static-md + + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + + # Workaround for https://github.com/KnicKnic/os-specific-run/issues/9 + - name: Build + run: | + if [ "$RUNNER_OS" == "Linux" ] || [ "$RUNNER_OS" == "macOS" ]; then + mkdir ${{runner.workspace}}/build && cd ${{runner.workspace}}/build + cmake -G Ninja ${{github.workspace}} + cmake --build . + elif [ "$RUNNER_OS" == "Windows" ]; then + $COMSPEC /c ${GITHUB_WORKSPACE}/.github/workflows/windows_build.bat + fi + shell: bash diff --git a/.github/workflows/windows_build.bat b/.github/workflows/windows_build.bat new file mode 100644 index 0000000..84ef36f --- /dev/null +++ b/.github/workflows/windows_build.bat @@ -0,0 +1,8 @@ +@echo on + +mkdir %RUNNER_WORKSPACE%\build && cd %RUNNER_WORKSPACE%\build + +call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + +cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static-md %GITHUB_WORKSPACE% +cmake --build . |