{"record":{"id":"9b263111071cd215","repo":"ipfs/kubo","slug":"release-s-exists-but-has-no-binary-for-s-s-yet","errorCode":null,"errorMessage":"release %s exists but has no binary for %s/%s yet; build artifacts may still be uploading, try again in a few hours","messagePattern":"release (.+?) exists but has no binary for (.+?)/(.+?) yet; build artifacts may still be uploading, try again in a few hours","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/commands/update_github.go","lineNumber":204,"sourceCode":"\n// findReleaseAsset locates the platform-appropriate asset in a release.\n// It fails immediately with a clear message if:\n//   - the release tag does not exist on GitHub (typo, unreleased version)\n//   - the release exists but has no binary for this OS/arch (CI still building)\nfunc findReleaseAsset(ctx context.Context, tag string) (*ghRelease, *ghAsset, error) {\n\trel, err := githubReleaseByTag(ctx, tag)\n\tif err != nil {\n\t\treturn nil, nil, fmt.Errorf(\"release %s not found on GitHub: %w\", tag, err)\n\t}\n\n\twant := assetNameForPlatformTag(tag)\n\tfor i := range rel.Assets {\n\t\tif rel.Assets[i].Name == want {\n\t\t\treturn rel, &rel.Assets[i], nil\n\t\t}\n\t}\n\n\treturn nil, nil, fmt.Errorf(\n\t\t\"release %s exists but has no binary for %s/%s yet; build artifacts may still be uploading, try again in a few hours\",\n\t\ttag, runtime.GOOS, runtime.GOARCH)\n}\n\n// downloadAsset downloads a release asset by its browser_download_url.\n// This hits GitHub's CDN directly, not the API, so no auth headers are needed.\nfunc downloadAsset(ctx context.Context, url string) ([]byte, error) {\n\treq, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treq.Header.Set(\"User-Agent\", \"kubo/\"+version.CurrentVersionNumber)\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"downloading asset: %w\", err)\n\t}\n\tdefer resp.Body.Close()","sourceCodeStart":186,"sourceCodeEnd":222,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/commands/update_github.go#L186-L222","documentation":"The GitHub release exists but none of its assets matches the binary name for this GOOS/GOARCH: right after a release is tagged, CI may still be building or uploading artifacts, so the platform binary is not there yet.","triggerScenarios":"Thrown at core/commands/update_github.go:204 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Wait a few hours and retry while CI uploads artifacts","Verify your platform has official builds for this release","Download the binary manually once artifacts appear on the release page"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}