Skip to content

fix: append .exe suffix to Windows binary download filename - #418

Merged
appleboy merged 2 commits into
masterfrom
fix-windows-exe-suffix
Aug 15, 2026
Merged

fix: append .exe suffix to Windows binary download filename#418
appleboy merged 2 commits into
masterfrom
fix-windows-exe-suffix

Conversation

@appleboy

@appleboyappleboy commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes#417 — Windows runner support was broken. It turned out there were two bugs, not one:

  1. Platform detection (not covered in the issue): bash steps on windows-latest run under Git Bash, where uname -s reports MINGW64_NT-10.0-<build> — so detect_client_info rejected Windows runners with ERR_UNKNOWN_PLATFORM before the download step was even reached.
  2. Download filename (the issue as reported): entrypoint.sh built the filename without the .exe suffix, while the drone-ssh release only publishes .exe-suffixed Windows assets, so the download 404'd (ERR_DOWNLOAD_FAILED).

Changes

  • entrypoint.sh: map mingw* / msys* / cygwin* uname output to the windows platform.
  • entrypoint.sh: append .exe to CLIENT_BINARY when the detected platform is windows. Since the checksum lookup matches on the exact asset name, this also keeps the checksum verification from feat(security): verify drone-ssh binary checksum after download #410 working on Windows.
  • .github/workflows/main.yml: add a windows-binary-download job on windows-latest that runs ./entrypoint.sh --help, covering platform detection, binary download, checksum verification, and binary execution.

Verification

The new CI job on windows-latest passes (log):

Downloading drone-ssh-1.8.2-windows-amd64.exe from https://github.com/appleboy/drone-ssh/releases/download/v1.8.2Checksum verification passed for drone-ssh-1.8.2-windows-amd64.exe======= CLI Version Information =======

Note: the first CI run on this branch failed on the windows job — that failure is what surfaced bug 1 (platform detection), fixed in the second commit.

Notes

  • windows-arm64 remains unsupported — the drone-ssh release only ships amd64 Windows assets, as noted in the issue.

🤖 Generated with Claude Code

The drone-ssh release publishes Windows assets with an .exe suffix
(e.g. drone-ssh-1.8.2-windows-amd64.exe), but entrypoint.sh built the
download filename without it, so every Windows runner failed with a 404
at the download step (ERR_DOWNLOAD_FAILED).
Append .exe when the detected platform is windows. This also keeps the
checksums.txt lookup working on Windows since entries match the exact
asset name. Add a windows-latest CI job that exercises the download,
checksum verification, and binary execution path.
Fixes#417
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 15, 2026 03:24

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes Windows runner support for this GitHub Action by ensuring the downloaded drone-ssh Windows asset name matches the upstream release artifact naming (which includes an .exe suffix), and adds CI coverage for that Windows download/execution path.

Changes:

  • Update entrypoint.sh to append .exe to the Windows CLIENT_BINARY name so GitHub Releases downloads and checksum lookups succeed.
  • Add a windows-latest workflow job that runs entrypoint.sh --help to exercise download, checksum verification, and execution on Windows.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

FileDescription
entrypoint.shAppends .exe to the Windows binary filename so the download URL and checksum entry match upstream assets.
.github/workflows/main.ymlAdds a Windows CI job intended to validate the Windows download/checksum/execution path.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread.github/workflows/main.yml
On windows-latest runners, bash steps run under Git Bash where
uname -s reports MINGW64_NT-10.0-<build>, so platform detection
rejected Windows runners with ERR_UNKNOWN_PLATFORM before the
download step was even reached. Map mingw*/msys*/cygwin* to windows.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@appleboy
appleboy merged commit 7e02fee into masterAug 15, 2026
20 of 21 checks passed
@appleboy
appleboy deleted the fix-windows-exe-suffix branch August 15, 2026 03:59
Sign up for freeto 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.

Windows runner support is broken: binary download URL is missing the .exe suffix

2 participants

@appleboy