{"record":{"id":"05f626f9a174d090","repo":"cube-js/cube","slug":"there-are-no-artifacts-for-cube-store-v-version","errorCode":null,"errorMessage":"There are no artifacts for Cube Store v${version}. Most probably it is still building. Please try again later.","messagePattern":"There are no artifacts for Cube Store v(.+?)\\. Most probably it is still building\\. Please try again later\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"rust/cubestore/js-wrapper/src/download.ts","lineNumber":54,"sourceCode":"export async function downloadBinaryFromRelease() {\n  // eslint-disable-next-line global-require\n  const { version } = require('../../package.json');\n  const cubestorePath = getCubeStorePath();\n  const currentTarget = getTarget();\n\n  const url = `https://github.com/cube-js/cube.js/releases/download/v${version}/cubestored-${currentTarget}.tar.gz`;\n\n  try {\n    await downloadAndExtractFile(url, {\n      cwd: cubestorePath,\n      showProgress: true,\n    });\n  } catch (e: any) {\n    if (e.toString().includes('Not Found')) {\n      const release = await fetchRelease(version);\n      if (release) {\n        if (release.assets.length === 0) {\n          throw new Error(\n            `There are no artifacts for Cube Store v${version}. Most probably it is still building. Please try again later.`\n          );\n        }\n\n        throw new Error(\n          `Cube Store v${version} Artifact for ${currentTarget} doesn't exist. Most probably it is still building. Please try again later.`\n        );\n      } else {\n        throw new Error(\n          `Unable to find Cube Store release v${version}. Most probably it was removed.`\n        );\n      }\n    } else {\n      throw e;\n    }\n  }\n}\n","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/rust/cubestore/js-wrapper/src/download.ts#L36-L72","documentation":"This error is thrown by downloadBinaryFromRelease in the Cube Store JS wrapper when the GitHub release for the requested Cube Store version exists but contains zero build artifacts. It means the CI pipeline that publishes prebuilt cubestored binaries has not finished (or failed), so there is nothing to download. The wrapper throws instead of failing with a confusing HTTP 404 so users know the situation is likely temporary.","triggerScenarios":"getBinary() calls downloadBinaryFromRelease() because the local cubestored binary is missing; downloadAndExtractFile() on the release asset URL fails with 'Not Found'; fetchRelease() successfully finds the GitHub release tag v${version}, but release.assets.length === 0, i.e. the release exists with no attached cubestored-<target>.tar.gz files.","commonSituations":"Installing or starting Cube immediately after a new cube.js version is published, before native binary CI builds complete; a CI artifact upload job failed for the release; running in environments where the release was cut without any assets; pinning a version whose builds were aborted.","solutions":["Wait for the Cube Store release artifacts to finish building (check the cube.js GitHub release assets on https://github.com/cube-js/cube.js/releases), then retry the install/start.","Retry later — the message is explicitly transient; re-run yarn install or restart the Cube process once builds complete.","Pin/downgrade to the previous stable cube.js version whose Cube Store binaries are fully published.","Build Cube Store from source (cargo build --release in rust/cubestore) and place the binary at the expected downloaded/latest/bin path.","If authenticated requests are being rate-limited or assets are delayed, set CUBEJS_GH_API_TOKEN when polling the release metadata (this affects fetchRelease, not artifact availability)."],"exampleFix":"// before: fail hard on first attempt during startup\nawait downloadBinaryFromRelease();\n// after: retry a few times for in-flight release builds\nfor (let i = 0; i < 3; i++) {\n  try { await downloadBinaryFromRelease(); break; }\n  catch (e) {\n    if (!String(e).includes('no artifacts') || i === 2) throw e;\n    await new Promise(r => setTimeout(r, 60000));\n  }\n}","handlingStrategy":"retry","validationCode":"import { Octokit } from '@octokit/core';\nconst { data } = await new Octokit().request('GET /repos/{owner}/{repo}/releases/tags/{tag}', { owner: 'cube-js', repo: 'cube.js', tag: 'v' + cubejsVersion });\nif (!data || data.assets.length === 0) {\n  throw new Error('Release artifacts not published yet — postpone install/start.');\n}","typeGuard":"function hasReleaseAssets(release: unknown): release is { assets: { name: string }[] } {\n  return !!release && typeof release === 'object' && Array.isArray((release as any).assets) && (release as any).assets.length > 0;\n}","tryCatchPattern":"try {\n  await startCubeStore();\n} catch (e) {\n  if (/no artifacts for Cube Store/.test(String(e))) {\n    await waitForReleaseAssets(); // retry with backoff\n  } else { throw e; }\n}","preventionTips":["Pin cube.js versions only after their GitHub release assets are fully published","Check release assets on the cube.js releases page before upgrading","Use the previous stable version in CI until a new release's binaries are confirmed","Monitor the release CI workflow rather than installing immediately on publish day"],"tags":["network","github-release","binary-download","cubestore"],"backgroundTag":"cubestore-artifacts-missing","analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}