fix: append .exe suffix to Windows binary download filename - #418
Merged
Conversation
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>
There was a problem hiding this comment.
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.shto append.exeto the WindowsCLIENT_BINARYname so GitHub Releases downloads and checksum lookups succeed. - Add a
windows-latestworkflow job that runsentrypoint.sh --helpto 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.
| File | Description |
|---|---|
| entrypoint.sh | Appends .exe to the Windows binary filename so the download URL and checksum entry match upstream assets. |
| .github/workflows/main.yml | Adds 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.
Uh oh!
There was an error while loading. Please reload this page.
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>
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes#417 — Windows runner support was broken. It turned out there were two bugs, not one:
windows-latestrun under Git Bash, whereuname -sreportsMINGW64_NT-10.0-<build>— sodetect_client_inforejected Windows runners withERR_UNKNOWN_PLATFORMbefore the download step was even reached.entrypoint.shbuilt the filename without the.exesuffix, while the drone-ssh release only publishes.exe-suffixed Windows assets, so the download 404'd (ERR_DOWNLOAD_FAILED).Changes
entrypoint.sh: mapmingw*/msys*/cygwin*uname output to thewindowsplatform.entrypoint.sh: append.exetoCLIENT_BINARYwhen the detected platform iswindows. 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 awindows-binary-downloadjob onwindows-latestthat runs./entrypoint.sh --help, covering platform detection, binary download, checksum verification, and binary execution.Verification
The new CI job on
windows-latestpasses (log):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-arm64remains unsupported — the drone-ssh release only shipsamd64Windows assets, as noted in the issue.🤖 Generated with Claude Code