You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows support is inconsistent across documentation and implementation. The CLI builds Windows binaries (.goreleaser.yaml) but docs variously include, exclude, or ignore Windows. Need a clear support statement and consistent platform coverage.
Empirical audit findings from the writ-deploy scenario's windows leg (#346 phase 4, PR #351 — the scenario now passes on windows-latest):
Fixed: the inventory generator emitted backslashed import paths (filepath.Dir results concatenated raw) — ToSlash at the conversion.
Fixed: Windows drive letters parsed as one-letter URI schemes in the resource constructors, killing every string→resource construction. Resolved by deleting the constructors' unused file-URI input grammar entirely (paths-only; the rehydration round-trip strips the provider's own emitted file:// prefix). Input-domain tests pin the contract.
Fixed: binaries lacked $(GOEXE) suffixing; the scenario job needed shell: bash (Windows run: defaults to PowerShell).
Open product gaps for this audit: TargetOrder reads HOME only (real Windows users have USERPROFILE; the scenario harness sets both, masking it); symlink creation relies on elevated/Developer-Mode privilege (runners are admin — end-user Windows needs a policy); the emitted file://-specific spelling on Windows (file://D:\...) is internally consistent but nonstandard per RFC 8089 Appendix E — fine as an identity tag, worth a deliberate ruling if tags ever leave the machine.
Activity
ci(scenario): the writ-deploy scenario on ubuntu and macos (#350)
ci(scenario): the windows leg — GOEXE binaries, bash shell, empirical…
David-Noble-at-work commentedon Aug 9, 2026
Empirical audit findings from the writ-deploy scenario's windows leg (#346 phase 4, PR #351 — the scenario now passes on windows-latest):
filepath.Dirresults concatenated raw) —ToSlashat the conversion.file://prefix). Input-domain tests pin the contract.$(GOEXE)suffixing; the scenario job neededshell: bash(Windowsrun:defaults to PowerShell).TargetOrderreadsHOMEonly (real Windows users haveUSERPROFILE; the scenario harness sets both, masking it); symlink creation relies on elevated/Developer-Mode privilege (runners are admin — end-user Windows needs a policy); the emittedfile://-specific spelling on Windows (file://D:\...) is internally consistent but nonstandard per RFC 8089 Appendix E — fine as an identity tag, worth a deliberate ruling if tags ever leave the machine.