What's the difference between Windows Runners in GitHub Actions and Windows 11 on PC? #176432
-
Why are you starting this discussion?Question What GitHub Actions topic or product is this about?Actions Runner Discussion DetailsI'm new to GitHub Actions and trying to build ECL with MSVC. This is tested on my own Windows 11 PC: # Install Build Dependencies scoop bucket add yasm https://github.com/eclisp-users/scoop-yasm scoop install yasm/yasm extras/nsis # Get Source Code curl -O https://ecl.common-lisp.dev/static/files/release/ecl-24.5.10.tgz tar -zxvf .\ecl-24.5.10.tgz # Buildcd .\ecl-24.5.10\msvc nmake ECL_WIN64=1 GMP_TYPE=AMD64 nmake windows-nsiBut it failed on the The GitHub Actions Manifest File can be found here. Both the runner and my PC used |
BetaWas this translation helpful?Give feedback.
Replies: 3 comments 1 reply
-
Primary Issue: YASM Not Found Error code 0xc0000135 means "The application failed to initialize properly" - typically indicating a missing DLL dependency or the executable not being found in PATH. Secondary Issue: Build Failed, Files Missing Because the GMP build failed (due to yasm), the ECL executables (ecl2.exe, ecl.dll) were never created, leading to the second error when trying to install them. You need to ensure YASM is in the PATH before running nmake. Try modifying your workflow: https://gist.github.com/grimmatic/ccee3fc04f8d24530ce2fcb29635bddf Alternatively, you could specify the full path to YASM in the nmake command, or check where Scoop actually installs it in the GitHub Actions environment and adjust accordingly. The |
BetaWas this translation helpful?Give feedback.
-
There are some important differences between GitHub Actions Windows Runners and a typical Windows 11 desktop, even if the MSVC toolchain version matches:
On your own PC, tools installed via package managers (like Scoop) often alter your user or system PATH, making them available in every shell. In GitHub Actions, you must manually ensure that required binaries (e.g., [
When this occurs, subsequent commands that expect files to be built (like copying ecl2.exe or ecl.dll) will fail because those files haven’t been produced.
Here’s a simplified example of what you might add to your GitHub Actions workflow:
Automated runners don’t preserve state outside the steps you define—unlike your desktop, where your session remains active. Always use workflow steps to prepare the runner’s environment from scratch.
In summary: |
BetaWas this translation helpful?Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
@grimmatic@k-twenty Thanks for the suggestions. It seems that Scoop is properly set to the https://github.com/eclisp-users/ecl-win-builds/actions/runs/18399560556/workflow#L46 And maybe I found the problem - yasm crashed on On my PC: And https://github.com/eclisp-users/ecl-win-builds/actions/runs/18399499735/workflow#L42 |
BetaWas this translation helpful?Give feedback.
I tried to install Visual C++ Redistributable, and it works.