From b7f5d8d735b280fc77673c4a29f0436a92ca6660 Mon Sep 17 00:00:00 2001 From: Davide Beatrici Date: Wed, 10 Mar 2021 01:29:05 +0100 Subject: Set up CI with GitHub Actions --- .github/workflows/build.yml | 38 +++++++++++++++++++++++++++++++++++++ .github/workflows/windows_build.bat | 8 ++++++++ 2 files changed, 46 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/windows_build.bat 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 . -- cgit v1.2.3