fix(ci): build engine package before the release self-host bundle - #4063
Conversation
release-selfhost.yml's --all bundle mode (the self-contained Docker image build) hit the same @jsonbored/gittensory-engine resolution gap ci.yml's validate-code job was fixed for: packages/gittensory-miner/lib/*.js (committed, pre-built) imports the engine package, whose dist/ is gitignored and only exists after an explicit build step. The regular selfhost.yml smoke test's narrower (non --all) build never touches that import chain, so it never caught this -- only the release pipeline's full bundle does, discovered when cutting orb-v0.4.0-beta.2 failed on this exact error.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-07 20:59:01 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 4 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4063 +/- ##
=======================================
Coverage 93.57% 93.57%
=======================================
Files 378 378
Lines 35487 35487
Branches 13017 13017
=======================================
Hits 33207 33207
Misses 1618 1618
Partials 662 662 🚀 New features to boost your workflow:
|
…4081) (#4084) src/mcp/find-opportunities.ts (since #3986) imports packages/gittensory-miner/lib/ opportunity-fanout.js (committed, pre-built), which imports @jsonbored/gittensory-engine. That package's dist/ is gitignored and only exists after an explicit build step -- Cloudflare's Workers Builds pipeline for gittensory-api runs npm run deploy:api directly with no such step, so wrangler deploy's bundler has failed to resolve the import on every push to main since 487d26a (2026-07-07T09:36:46Z). Mirrors the identical fix already applied to the self-host image build (#4034), the release build (#4063), and the backend test suite (#4036).
Summary
No issue: this is a maintainer-authored release-engineering fix for a live release failure (cutting orb-v0.4.0-beta.2), not a pre-planned feature — filing a tracking issue for a one-line CI fix already reproduced and verified below didn't seem warranted.
release-selfhost.yml's--allbundle mode (the self-contained Docker image build) hit the same@jsonbored/gittensory-engineresolution gap thatci.yml'svalidate-codejob was fixed for earlier today (fix(ci): build engine package before running backend tests #4036):packages/gittensory-miner/lib/*.js(committed, pre-built) imports the engine package, whosedist/is gitignored and only exists after an explicit build step.selfhost.ymlsmoke test's narrower (non--all) build never touches that import chain, so it never caught this — only the release pipeline's full self-contained bundle does.orb-v0.4.0-beta.2failed withCould not resolve "@jsonbored/gittensory-engine"onnode scripts/build-selfhost.mjs --all.Test plan
npm run actionlint— cleanrm -rf packages/gittensory-engine/dist && node scripts/build-selfhost.mjs --allfails identically to the release run