msvc-dev-cmd: Random failure with error "Command failed: cmd.exe /q /c C:\Users\runneradmin\msvc-dev-cmd.bat"

The action randomly fails with the following log, sometimes

2020-06-01T09:22:32.7166338Z     Merge branch 'github-actions' of https://github.com/BoostGSoC20/ublas into github-actions
2020-06-01T09:22:32.7445679Z ##[group]Run ilammy/msvc-dev-cmd@v1.2.0
2020-06-01T09:22:32.7445841Z with:
2020-06-01T09:22:32.7445928Z   toolset: 14.25
2020-06-01T09:22:32.7446020Z   arch: x64
2020-06-01T09:22:32.7446116Z ##[endgroup]
2020-06-01T09:22:40.4214652Z ##[error]Could not setup Developer Command Prompt: Command failed: cmd.exe /q /c C:\Users\runneradmin\msvc-dev-cmd.bat

Check this Job which failed: https://github.com/BoostGSoC20/ublas/runs/726808960?check_suite_focus=true

Check this job with the same configuration that passed: https://github.com/BoostGSoC20/ublas/runs/726808920?check_suite_focus=true

This failure is completely random. I looked into it and found that in the latest release this action still uses some script but after https://github.com/ilammy/msvc-dev-cmd/commit/5a6b51d5acdbbf4e2dc5bfab25a3a015aad5f793, this behaviour changed. Please look into it and if possible you could release a new version with this commit.

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Comments: 19 (15 by maintainers)

Most upvoted comments

What if we set the value of those variables to empty?

Then they will be empty. A variable with “empty string” as a value. This is different from “not present in the environment”. How this is handled is up to the software that queries them. It might consider them missing, or it might fail with an “invalid value” error.

While I haven’t noticed any variables so far that could cause problems, the possibility still remains. I thought that it’s better to allow reconfiguration in some way over not allowing it at all. If it works in most cases and no one runs into issues – great. If this does not work for someone – I hope they’ll raise an issue and that specific issues can be addressed, rather then me trying to prevent a hypothetical situations proactively by applying random hacks. (I mean, if there was an obvious documented way to remove variables and if vsvarsall.bat did remove some variables after reconfiguration then I’d do that of course. But there isn’t and it doesn’t.)

Seems to only fail after the second usage, order doesn’t appear to matter.