Skip to content

Conversation

@Ap3x
Copy link
Owner

@Ap3x Ap3x commented Jan 19, 2026

Incorporated multiple fixes to ensure proper build in GitHub Actions:

  1. Add Windows SDK tools to PATH: Fixes RC.exe not found error by
    adding Windows SDK bin directory to PATH before vcpkg runs. This ensures
    the Resource Compiler is available during dependency builds.

  2. Explicit generator specification: Added -G "Visual Studio 17 2022"
    to cmake commands to ensure MSBuild is used instead of Ninja, preventing
    linker and resource compiler errors.

  3. vcpkg build caching: Added useVcpkgInstallArtifactCaching: true to
    speed up builds by caching vcpkg artifacts between runs.

  4. Submodule support: Added submodules: recursive to checkout step to
    support repositories using git submodules (like Detours).

  5. Split debug/release builds: Separated into two parallel jobs for
    better build organization and potential parallelization.

  6. Updated artifact paths: Changed artifact paths to bin/ directory to
    match actual build output locations.

These changes address build failures related to missing build tools,
incorrect generator selection, and missing dependencies.

Incorporated multiple fixes to ensure proper build in GitHub Actions:

1. **Add Windows SDK tools to PATH**: Fixes RC.exe not found error by
   adding Windows SDK bin directory to PATH before vcpkg runs. This ensures
   the Resource Compiler is available during dependency builds.

2. **Explicit generator specification**: Added `-G "Visual Studio 17 2022"`
   to cmake commands to ensure MSBuild is used instead of Ninja, preventing
   linker and resource compiler errors.

3. **vcpkg build caching**: Added `useVcpkgInstallArtifactCaching: true` to
   speed up builds by caching vcpkg artifacts between runs.

4. **Submodule support**: Added `submodules: recursive` to checkout step to
   support repositories using git submodules (like Detours).

5. **Split debug/release builds**: Separated into two parallel jobs for
   better build organization and potential parallelization.

6. **Updated artifact paths**: Changed artifact paths to bin/ directory to
   match actual build output locations.

These changes address build failures related to missing build tools,
incorrect generator selection, and missing dependencies.
CMakePresets.json now defines x86_BUILD_TOOLS_PATH and x64_BUILD_TOOLS_PATH
variables, so the manual PATH modification is no longer needed.
Install Ninja build system using Chocolatey in both debug and release
build jobs. This ensures Ninja is available for vcpkg and CMake.
Install Chocolatey package manager before installing Ninja, since
Chocolatey is not pre-installed on the self-hosted runner.
Change shell from pwsh (PowerShell Core) to powershell (Windows PowerShell)
for Chocolatey installation since pwsh is not available on the self-hosted runner.
- Merge Chocolatey and Ninja installation into a single step
- Add administrator privilege check to ensure proper permissions
- Refresh environment PATH after Chocolatey installation to make choco available
- This ensures the installation runs with elevated privileges on the self-hosted runner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants