[windows-11-arm] Composite action bash steps intermittently produce zero output and exit 0 (original) (raw)

Type of issue

Describe the issue

Composite action steps using shell: bash on windows-11-arm intermittently produce zero output and exit code 0, even though the bash script (set -CeEuo pipefail) has no valid code path that exits 0 silently. The step is reported as "success" but the tool it was supposed to install is missing, causing downstream steps to fail.

This has been observed across two repositories (microsoft/Windows-rust-driver-samples and microsoft/windows-drivers-rs). A scan of ~500 Build workflow runs found at least 9 occurrences in Windows-rust-driver-samples alone, and the issue likely affects any composite action using shell: bash on this runner. It occurs exclusively on windows-11-arm — zero occurrences across thousands of windows-latest (amd64) jobs in the same workflows.

The affected step runs taiki-e/install-action@v2, which is a composite action whose main step is:

On windows-11-arm, shell: bash resolves to C:\Program Files\Git\bin\bash.EXE, which is an x86_64 binary running under WoW64 arm64 emulation. The actions/runner builds a native win-arm64 runner. This cross-architecture parent-child process launch (native arm64 runner starting x86_64 emulated bash) is unique to windows-11-arm and is the suspected root cause.

Crucially, the failure is transient per-process-invocation. In this windows-drivers-rs job, two consecutive taiki-e/install-action@v2 steps ran on the same runner, same job, 6 seconds apart:

This rules out image corruption, runner misconfiguration, or persistent state issues.

To Reproduce

This is an intermittent issue. It can be observed by running a workflow with a composite action using shell: bash on windows-11-arm at scale.

Sample occurrences from microsoft/Windows-rust-driver-samples (Build workflow, cargo-make not installed):

Date Workflow Run Failed Job Toolchain
2025-12-24 20484776295 58864989832 beta
2026-01-10 20877329090 59988600977 beta
2026-01-16 21064497263 60578483558 stable
2026-01-20 21169143252 60881258739 beta
2026-01-30 21513744234 61986903393 stable
2026-02-03 21627942784 62332828961 stable
2026-02-16 22060541206 63739393308 stable
2026-02-25 22394437967 64824425488 beta
2026-03-03 22620339442 65543502621 nightly

From microsoft/windows-drivers-rs (Test workflow, cargo-expand not installed):

Date Workflow Run Failed Job Toolchain
2026-03-03 22647210151 65638038157 beta

In each case, the composite action's bash step shows the command and env dump in the log but produces zero output from the script itself. Downstream steps then fail with errors like:

error: no such command: `make`

or:

error: no such command: `expand`

Expected behavior

The composite action step should either:

  1. Execute the bash script and produce its normal output (e.g., info: host platform: x86_64_windows, info: installing cargo-make@latest, etc.), OR
  2. If execution fails, report a non-zero exit code so the step is marked as failed.

For reference, a successful arm64 job in the same run produces:

info: host platform: x86_64_windows
info: cargo is located at /c/Users/runneradmin/.cargo/bin/cargo
info: installing cargo-make@latest
info: downloading https://github.com/sagiegurari/cargo-make/releases/download/0.37.24/cargo-make-v0.37.24-x86_64-pc-windows-msvc.zip
info: verifying sha256 checksum for cargo-make-v0.37.24-x86_64-pc-windows-msvc.zip
info: cargo-make installed at /c/Users/runneradmin/.cargo/bin/cargo-make.exe
+ cargo-make make --version
cargo-make 0.37.24

Desktop (please complete the following information):

Additional context