ci: add Verdaccio sanity suite to CI and release workflows#560
Conversation
Adds the Verdaccio-based sanity suite (real `npm install -g` flow) to both CI and release pipelines: **CI (`ci.yml`):** - New `sanity-verdaccio` job on push to main - Builds linux-x64 binary + dbt-tools, runs full Docker Compose suite - Independent of other jobs (doesn't block PRs) **Release (`release.yml`):** - New `sanity-verdaccio` job between build and npm publish - Downloads linux-x64 artifact from build matrix - **Blocks `publish-npm`** — broken install flow prevents release - Dependency chain: build → sanity-verdaccio → publish-npm → github-release Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAdds a new Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Adds the Verdaccio-based sanity suite (real `npm install -g` flow) to both CI and release pipelines: **CI (`ci.yml`):** - New `sanity-verdaccio` job on push to main - Builds linux-x64 binary + dbt-tools, runs full Docker Compose suite - Independent of other jobs (doesn't block PRs) **Release (`release.yml`):** - New `sanity-verdaccio` job between build and npm publish - Downloads linux-x64 artifact from build matrix - **Blocks `publish-npm`** — broken install flow prevents release - Dependency chain: build → sanity-verdaccio → publish-npm → github-release Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…uirement The v1.17.9 merge bumped the repo `packageManager` to `bun@1.3.14` (upstream's required runtime) and the `script/` version gate to `^1.3.14`, but all 6 CI jobs kept the fork's old `bun-version: "1.3.10"` pin. The merged CLI cannot boot as a spawned subprocess under bun 1.3.10, so the `bun test` job (reported as the "TypeScript" check) failed with 748 failures — every subprocess test (`acp lifecycle`, `run (non-interactive)`, `serve`, the read-only smokes) timed out at 15s or exited non-zero, while the 9696 in-process tests passed. Confirmed environment-specific, not a code regression: locally on bun 1.3.13 the same subprocess smokes pass 7/7. The fork pinned 1.3.10 in older PRs (#221/#255/ #560); the merge moved the runtime floor to 1.3.14 but left CI behind. Bump all 6 `bun-version` pins to 1.3.14 to match `package.json` `packageManager`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What does this PR do?
Adds the Verdaccio-based sanity suite (real
npm install -gflow) to both CI and release pipelines. Previously this only ran locally viadocker compose.CI (
ci.yml):sanity-verdacciojob runs on push to mainRelease (
release.yml):sanity-verdacciojob runs betweenbuildandpublish-npmbuild → sanity-verdaccio → publish-npm → github-releaseThis catches publish-pipeline bugs before they reach users: missing files in tarballs, broken symlinks, postinstall failures, dependency resolution issues, wrong bin field.
Type of change
Issue for this PR
Closes #559
How did you verify your code works?
python3 -c "import yaml; yaml.safe_load(...)"sanity-verdaccioneedsbuild,publish-npmneeds[build, sanity-verdaccio]if: github.event_name == 'push'(main only)docker compose -f test/sanity/docker-compose.verdaccio.yml up --buildChecklist
secretscontext)Summary by CodeRabbit