From 31600d659d49fbeb2828b7c55700e2acec4e0d75 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Wed, 11 Mar 2026 02:28:55 -0600 Subject: [PATCH] fix(test): use correct default formats and document .git regression MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The webinstall.dev server passes formats=['tar','exe','zip','xz','dmg'] by default — not empty. Fixed Windows UA to use 'Windows' (not 'Windows_NT'). Identified .git source URLs in Go cache as a regression vs production (not just a priority issue). Updated PROD_NOTES.md with webinstall.dev serve-releases.js libc bug finding. --- PROD_NOTES.md | 14 +++++++++++--- _webi/test-installer-resolve.js | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/PROD_NOTES.md b/PROD_NOTES.md index 1ddbd75..1aa852a 100644 --- a/PROD_NOTES.md +++ b/PROD_NOTES.md @@ -54,9 +54,12 @@ The Go cache filters releases more aggressively than the old Node normalize.js: `gnu`, so Linux glibc hosts can't match these packages. Fix needed in `host-targets.js`: `libc: ['none', 'gnu', 'libc']`. See QUESTIONS.md in the Go agent worktree. -- **ANYOS/ANYARCH .git priority**: Packages like caddy and jq have `.git` - source URLs classified as `ANYOS`/`ANYARCH`. The triplet enumeration tries - ANYOS before specific OS, so `.git` matches before platform-specific binaries. +- **Go cache `.git` source URLs (regression)**: The Go cache includes `.git` + source repo URLs as release assets. These get classified as + `ANYOS`/`ANYARCH` and match before platform-specific binaries because + the triplet enumeration tries ANYOS first. Production doesn't have this + issue — the old `releases.js` fetchers never included `.git` URLs. Fix: + exclude `.git` URLs from Go cache output. ### Known Pre-existing Issues @@ -66,6 +69,11 @@ The Go cache filters releases more aggressively than the old Node normalize.js: "wrong arch" warnings in the build-classifier (armhf vs armv6). - **Go illumos/solaris warnings**: Go's illumos and solaris builds trigger "wrong os" warnings (expected `sunos`). +- **webinstall.dev `serve-releases.js` libc bug**: Line 37 calls + `UaDetect.arch(req.query.libc)` instead of `UaDetect.libc(...)`. This + means the libc query parameter always evaluates to `'error'`, effectively + disabling libc filtering in the release API. (Bug is in the webinstall.dev + repo, not webi-installers.) ## Public API Endpoints diff --git a/_webi/test-installer-resolve.js b/_webi/test-installer-resolve.js index 528e426..37c8d6e 100644 --- a/_webi/test-installer-resolve.js +++ b/_webi/test-installer-resolve.js @@ -49,7 +49,7 @@ let UA_CASES = [ ua: 'aarch64/unknown Darwin/24.2.0 libc', expectOs: 'darwin', expectArch: 'aarch64', - expectExt: 'tar.gz', + expectExt: 'tar.xz', }, { label: 'rg macOS arm64', @@ -159,7 +159,7 @@ async function main() { unameAgent: tc.ua, projectName: tc.pkg, tag: 'stable', - formats: [], + formats: ['tar', 'exe', 'zip', 'xz', 'dmg'], libc: '', });