Skip to content

fix(host-targets): classify CYGWIN and MINGW as windows, not linux#23

Merged
coolaj86 merged 2 commits into
mainfrom
fix/cygwin-mingw-windows-matching
May 14, 2026
Merged

fix(host-targets): classify CYGWIN and MINGW as windows, not linux#23
coolaj86 merged 2 commits into
mainfrom
fix/cygwin-mingw-windows-matching

Conversation

@coolaj86

Copy link
Copy Markdown
Member

Summary

  • Cygwin (CYGWIN_NT-*) and Git Bash/MINGW (MINGW64_NT-*) run on Windows and need Windows binaries. The previous T.LINUX classification caused webi.sh to serve Linux ELF binaries (e.g. gh_linux_amd64.tar.gz) which cannot run on Windows hosts.
  • Changes CYGWIN: T.LINUXCYGWIN: T.WINDOWS and MINGW: T.LINUXMINGW: T.WINDOWS.
  • Adds gnu and libc libc fallbacks to the Windows WATERFALL so Cygwin/MINGW hosts (which report gnu or libc as their libc) can reach msvc-tagged and static (none) Windows packages.
  • Adds host-targets-test.js with explicit os/arch/vendor assertions for all known Cygwin and MINGW user-agent patterns, including the Windows 11 build from webi-installers#1083.
  • Bumps to v1.0.4.

Test plan

  • npm test — both lexver-test.js and host-targets-test.js pass
  • node lint-host-targets.js — no new errors for CYGWIN/MINGW entries

coolaj86 added 2 commits May 14, 2026 15:25
Cygwin (CYGWIN_NT-*) and Git Bash (MINGW64_NT-*) run on Windows and
need Windows binaries. The previous linux classification caused webi.sh
to serve Linux ELF binaries (e.g. gh_linux_amd64.tar.gz) which cannot
run on Windows hosts.

Also add 'gnu' and 'libc' libc fallbacks to the Windows WATERFALL so
that Cygwin/MINGW hosts (which report 'gnu' or 'libc' as their libc)
can reach msvc-tagged and static Windows packages.

Adds host-targets-test.js with explicit os/arch/vendor assertions for
all known Cygwin and MINGW user-agent patterns, including the Windows 11
build from issue #1083.

Bumps to v1.0.4.
ANYOS already provides ['none', 'gnu'] for gnu hosts and the extended
['none', 'gnu', 'musl', 'libc'] for libc hosts, which reaches static
('none') Windows packages. Explicit msvc preference was also wrong
since msvc requires vcredist — 'none' is always preferred.
@coolaj86 coolaj86 merged commit f9cc9f3 into main May 14, 2026
3 checks passed
@coolaj86 coolaj86 deleted the fix/cygwin-mingw-windows-matching branch May 14, 2026 21:59
Sign up for free to 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.

1 participant