Skip to content

Prevent windows-build failures from MSBuild node reuse locking the build directory - #323

Merged
yungcomputerchair merged 3 commits into
masterfrom
copilot/fix-windows-build-job
Jul 29, 2026
Merged

Prevent windows-build failures from MSBuild node reuse locking the build directory#323
yungcomputerchair merged 3 commits into
masterfrom
copilot/fix-windows-build-job

Conversation

Copilot AI commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

The windows-build GitHub Actions job was failing after a successful compile because the next protocol-version iteration could not delete build/ (Remove-Item ... file is being used by another process). The failure was caused by lingering MSBuild worker processes reusing nodes across loop iterations.

  • Workflow change (Windows build loop)

    • Updated .github/workflows/check-builds.yaml to disable MSBuild node reuse in the Windows build command.
    • This ensures build worker processes exit cleanly between iterations so build/ can be removed before regenerating with CMake.
  • Behavioral impact

    • Keeps the existing multi-version build flow unchanged (104, 728, 1013).
    • Removes intermittent file-lock contention between iterations.
# .github/workflows/check-builds.yaml
msbuild build\OpenFusion.sln /maxcpucount:8 /nodeReuse:false /p:BuildInParallel=true /p:CL_MPCount=8 /p:UseMultiToolTask=true /p:Configuration=$configuration

Copilot AI changed the title [WIP] Fix the failing GitHub Actions job 'windows-build' Prevent windows-build failures from MSBuild node reuse locking the build directory Jul 29, 2026
Copilot AI requested a review from yungcomputerchair July 29, 2026 22:20

@yungcomputerchair yungcomputerchair left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI is still failing with the same error.

Copilot AI commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

The CI is still failing with the same error.

Addressed in commit e9e5ec2.

I checked the latest failing run (30495678813 / job 90724178211) and it was still failing on Remove-Item "build" -Recurse due to a file lock. The workflow now uses per-version build directories (build-104, build-728, build-1013) and builds the corresponding solution path, so it no longer needs to delete/reuse a single build/ directory between iterations.

@yungcomputerchair yungcomputerchair left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good robot :D

@yungcomputerchair
yungcomputerchair marked this pull request as ready for review July 29, 2026 23:13
@yungcomputerchair
yungcomputerchair merged commit ce9ce36 into master Jul 29, 2026
3 checks passed
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.

2 participants