Update and fix Windows CI builds

- boost-spirit dependency needed to be installed
- Visual Studio wanted boost/filesystem.hpp included in more places
- a deprecated enum was removed from new versions of boost, so we use
  its replacement enum now
- vcpkg repository is now pinned to a commit where boost 1.84 libraries
  work smoothly, there should be no more surprises
- vcpkg dependencies now cache, so successive CI runs are dramatically
  faster
- for win-scons, we need to use 'call' in our batch script to source
  vcvarsall.bat
- I updated the includepath and libpath we pass to win-scons to match
  reality, but it still can't find any vcpkg libraries. This will need
  further sleuthing
This commit is contained in:
2024-05-27 15:59:07 -06:00
committed by Celtic Minstrel
parent c691b908a6
commit 1bb0927ecb
12 changed files with 88 additions and 12 deletions

View File

@@ -64,7 +64,17 @@
},
win-vs32: {
runs-on: windows-2019,
env: {
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
},
steps: [
{
name: Export GitHub Actions cache environment variables,
uses: actions/github-script@v7,
with: {
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
}
},
{
name: checkout,
uses: actions/checkout@v2,
@@ -72,7 +82,8 @@
},
{
name: install dependencies,
run: '.\.github\workflows\scripts\win\install-deps.bat x86'
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x86',
working-directory: proj/vs2017
},
{
name: build,
@@ -82,7 +93,17 @@
},
win-vs64: {
runs-on: windows-2019,
env: {
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
},
steps: [
{
name: Export GitHub Actions cache environment variables,
uses: actions/github-script@v7,
with: {
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
}
},
{
name: checkout,
uses: actions/checkout@v2,
@@ -90,7 +111,8 @@
},
{
name: install dependencies,
run: '.\.github\workflows\scripts\win\install-deps.bat x64'
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64',
working-directory: proj/vs2017
},
{
name: build,
@@ -104,7 +126,17 @@
},
win-scons: {
runs-on: windows-2019,
env: {
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
},
steps: [
{
name: Export GitHub Actions cache environment variables,
uses: actions/github-script@v7,
with: {
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
}
},
{
name: checkout,
uses: actions/checkout@v2,
@@ -116,7 +148,8 @@
},
{
name: install dependencies,
run: '.\.github\workflows\scripts\win\install-deps.bat x64'
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64',
working-directory: proj/vs2017
},
{
name: build and unit test,
@@ -138,7 +171,8 @@
# },
# {
# name: install dependencies,
# run: '.\.github\workflows\scripts\win\install-deps.bat x64'
# run: 'vcpkg install',
# working-directory: proj/vs2017
# },
# {
# name: build and unit test,

View File

@@ -1,2 +1,2 @@
vcpkg install zlib:%1-windows sfml:%1-windows opengl:%1-windows boost-any:%1-windows boost-dynamic-bitset:%1-windows boost-ptr-container:%1-windows boost-core:%1-windows boost-filesystem:%1-windows boost-system:%1-windows boost-date-time:%1-windows boost-chrono:%1-windows boost-math:%1-windows
vcpkg install --feature-flags=manifests,binarycaching --triplet %1-windows

View File

@@ -4,6 +4,6 @@ vcpkg integrate install
setlocal enabledelayedexpansion
for /f "usebackq tokens=*" %%i in (`vswhere -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe`) do (
"%%i" -clp:ForceConsoleColor -target:Build -property:Configuration=Release -property:Platform=%1 "proj/vs2017/Blades of Exile.sln"
"%%i" -clp:ForceConsoleColor -target:Build -property:Configuration=Release -property:Platform=%1 -property:VcpkgEnableManifest=true "proj/vs2017/Blades of Exile.sln"
exit /b !errorlevel!
)

View File

@@ -2,7 +2,7 @@
setlocal enabledelayedexpansion
for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -find **/Auxiliary/Build/vcvarsall.bat`) do (
%%i
call "%%i" x86_amd64
)
scons