diff --git a/server/.github/workflows/ci.yml b/server/.github/workflows/ci.yml new file mode 100644 index 00000000..6dc4601b --- /dev/null +++ b/server/.github/workflows/ci.yml @@ -0,0 +1,42 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + +permissions: + contents: read + +jobs: + build: + name: Windows x64 + runs-on: windows-2025 + steps: + - name: Check out source + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 + with: + submodules: recursive + - name: Install Boost + shell: pwsh + # CMakeLists.txt links Boost statically but does not declare it in + # vcpkg.json, so it cannot come from the manifest. Install it in classic + # mode from the vcpkg installation root and point BOOST_ROOT at it, which + # is the override CMakeLists.txt already supports. + run: | + Push-Location $env:VCPKG_INSTALLATION_ROOT + ./vcpkg install boost-locale:x64-windows-static boost-json:x64-windows-static + Pop-Location + "BOOST_ROOT=$env:VCPKG_INSTALLATION_ROOT/installed/x64-windows-static" >> $env:GITHUB_ENV + - name: Configure + shell: pwsh + run: > + cmake -S . -B build -A x64 + -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" + -DVCPKG_TARGET_TRIPLET=x64-windows + - name: Build + shell: pwsh + run: cmake --build build --config Release --parallel + - name: Test + shell: pwsh + run: ctest --test-dir build -C Release --output-on-failure --timeout 120