Actions: Windows "Terminate Batch Job (Y/N)?"

It looks like there’s a major bug with Github Actions and the Windows container. We’ve attempted to resolve this with several different iterations on a set of commands - all of which revolved around installing and running PNPM (note that we’re not talking about NPM). Our slate of failures and attempted fixes can be seen here, in all of the failed builds: Note that the builds don’t actually fail, they just stop with some kind of warning state, on the task that is cancelled.

The crux of the problem is that commands are somehow producing a situation in which (so it would appear) some process in the container is attempting to send CTL+C to the shell.

Terminate batch job (Y/N)? is immediately followed by ##[error]The operation was canceled.

From searching the interwebs, this appears to be due to using CMD.exe as the default shell - where Windows requires CTL+C to be sent twice in order to kill a script. So we went so far as to tack on shell: powershell to every command, and that apparently made no difference. This is a pretty big hangup, and is not something that CircleCI nor Travis suffer from (confirmed). This will effectively block the Rollup org from being able to adopt Github Actions.

(On another note - Why is the editor for so bad, and why can we not use Markdown?)

Digging in a bit more, we discovered that the workflow is actually being cancelled.  The job outputting “Terminate Batch Job (Y/N)?” is part of a matrix.  Matrix builds run in parallel and (by default) the entire matrix will be cancelled if any job fails.

In this case, running a job on a Windows host, you may see this message during the cancellation.  (This is a message that the Windows shell cmd may display during cancellation.)

If you want to turn off the “fail fast” mode you can set:

fail-fast: false

In your matrix definition.  See the workflow syntax guide for more information.