-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Description
What is the URL of the page with the issue?
https://artifacts.netflix.net/api/go/goproxy (private jfrog artifactory go module proxy)
What is your user agent?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Screenshot
No response
What did you do?
GO_MODULE_PROXY_URL=https://artifacts.netflix.net/api/go/goproxy go run devtools/cmd/seeddb/main.go -keep_going=true
What did you see happen?
Blows up at https://cs.opensource.google/go/x/pkgsite/+/master:devtools/cmd/seeddb/main.go;l=95
What did you expect to see?
keep_going should keep going when versions results in an error.
Explanation: jFrog Artifactory version listing for version-less repos
For repos with no tagged versions, jFrog Artifactory's go module proxy returns 404 for version list. ex https://github.netflix.net/example/foo has no releases, https://artifacts.netflix.net/api/go/goproxy/github.netflix.net/example/foo/@v/list returns {"errors":[{"status":404,"message":"Could not find resource"}]}.
This is in contrast to proxy.golang.org, which would return a blank 200. See https://github.com/jeanbza/sim-hashing which has no versions, https://proxy.golang.org/github.com/jeanbza/sim-hashing/@v/list returns 200:
$ curl https://proxy.golang.org/github.com/jeanbza/sim-hashing/@v/list -i
HTTP/2 200
This makes using seeddb a pain: you have to first prune your seed.txt of version-less repos before seeding. We could just amend -keep_going to keep going through version errors instead.