Skip to content

Setup CI (8)

Setup CI (8) #14

Workflow file for this run

name: Main
on:
push:
branches: [ "ci" ]
pull_request:
branches: [ "ci" ]
# https://devblogs.microsoft.com/cppblog/vcpkg-integration-with-the-github-dependency-graph/
permissions:
contents: write
env:
# https://devblogs.microsoft.com/cppblog/vcpkg-integration-with-the-github-dependency-graph/
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
VCPKG_ROOT: "C:/vcpkg"
VCPKG_DEFAULT_BINARY_CACHE: "C:/vcpkg-binary-cache"
VCPKG_FEATURE_FLAGS: dependencygraph
BUILD_TYPE: Release
jobs:
build:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Get project vcpkg baseline
shell: pwsh
run: |
$baseline = (Get-Content -Path vcpkg.json | ConvertFrom-Json).'builtin-baseline'
echo "VCPKG_BASELINE=$baseline" >> $env:GITHUB_ENV
- name: Cache vcpkg
uses: actions/cache@v4
with:
key: vcpkg-${{env.VCPKG_BASELINE}}
path: |
${{env.VCPKG_ROOT}}
${{env.VCPKG_DEFAULT_BINARY_CACHE}}
- name: Setup vcpkg
run: |
git -C ${{env.VCPKG_ROOT}} pull origin ${{env.VCPKG_BASELINE}}
${{env.VCPKG_ROOT}}/bootstrap-vcpkg.bat
New-Item -ItemType Directory -Path ${{env.VCPKG_DEFAULT_BINARY_CACHE}} -Force
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} --toolchain ${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}