Skip to content

release: publish the MIT set before the GPL one - #159

Closed
pcarrier wants to merge 1 commit into
mainfrom
fix-npm-publish-order
Closed

release: publish the MIT set before the GPL one#159
pcarrier wants to merge 1 commit into
mainfrom
fix-npm-publish-order

Conversation

@pcarrier

@pcarrier pcarrier commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #157: the fix for the review comment about .publish-order was pushed to the branch after the merge commit was cut, so it never landed on main.

publish-npm-bin-packages walks .publish-order under set -e. Sorting all platform packages into one block puts @blit-sh/bin-gpl-* ahead of the @blit-sh/bin launcher, so a failure publishing any GPL package aborts the run before the MIT launcher — the thing everyone installs — goes out. That's the same class of breakage #157 was fixing.

Emit one block per flavor, MIT first:

@blit-sh/bin-darwin-arm64
@blit-sh/bin-darwin-x64
@blit-sh/bin-linux-arm64
@blit-sh/bin-linux-arm64-musl
@blit-sh/bin-linux-x64
@blit-sh/bin-linux-x64-musl
@blit-sh/bin
@blit-sh/bin-gpl-linux-arm64
@blit-sh/bin-gpl-linux-arm64-musl
@blit-sh/bin-gpl-linux-x64
@blit-sh/bin-gpl-linux-x64-musl
@blit-sh/bin-gpl

Verified against fixture tarballs for both the full set (above) and a MIT-only artifact dir (no GPL block, @blit-sh/bin last).

View in Indent
Tag @indent to continue the conversation here.

publish-npm-bin-packages walks .publish-order under set -e, and sorting the
platform packages together put the GPL ones ahead of the @blit-sh/bin launcher:
any GPL publish failure would abort the run before @blit-sh/bin went out, which
is exactly the breakage this is fixing. Emit each flavor as a block, MIT first.
@indent

indent Bot commented Aug 3, 2026

Copy link
Copy Markdown
PR Summary

Re-applies a fix lost from #157: the launcher's optionalDependencies fix landed on main, but the matching .publish-order change was pushed after the merge commit was cut and never made it. publish-npm-bin-packages walks .publish-order line-by-line under set -euo pipefail, so the old order (GPL platform packages interleaved before the @blit-sh/bin line) meant any GPL publish failure could abort the run before the widely-installed MIT launcher shipped. This reorders the manifest so the entire MIT flavor goes out before any GPL package.

  • bin/build-npm-bin-packages: emit .publish-order as mit_names@blit-sh/bin → (if GPL present) gpl_names@blit-sh/bin-gpl, instead of all platform packages interleaved followed by both launchers.
  • Each launcher still publishes after its own platform dependencies, so install-time optionalDependency resolution is unchanged.
  • No package contents or version change.

Issues

Review closed.

CI Checks

All CI checks passed on 3f6d445.

View session

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Coverage

Crate Lines Functions Regions
alacritty-driver 69.7% (698/1002) 72.0% (54/75) 71.7% (1050/1464)
browser 0.0% (0/807) 0.0% (0/65) 0.0% (0/1370)
cli 17.2% (1521/8821) 28.1% (200/712) 20.1% (2730/13555)
compositor 2.6% (246/9558) 7.3% (32/439) 2.7% (352/12801)
fonts 81.4% (721/886) 88.6% (70/79) 83.0% (1427/1719)
fssync 92.6% (4882/5274) 94.1% (445/473) 92.5% (8928/9647)
gateway 26.1% (375/1437) 29.9% (38/127) 19.9% (470/2360)
git 87.3% (4167/4771) 88.4% (329/372) 87.0% (6596/7582)
lsp 76.0% (2503/3295) 78.2% (248/317) 73.8% (3887/5266)
proxy 19.3% (172/892) 20.5% (26/127) 21.2% (293/1381)
remote 90.2% (8628/9561) 92.9% (619/666) 88.0% (14359/16310)
sd-notify 73.9% (68/92) 100.0% (6/6) 83.2% (109/131)
server 37.2% (6503/17458) 51.0% (624/1224) 39.9% (11110/27824)
ssh 1.9% (7/374) 3.2% (1/31) 0.7% (4/613)
upsidedown 31.4% (391/1247) 27.8% (55/198) 34.8% (797/2287)
webrtc-forwarder 2.7% (72/2624) 2.1% (4/187) 1.2% (50/4335)
webserver 60.3% (1051/1742) 64.7% (156/241) 63.1% (1800/2851)
Total 45.8% (32005/69841) 54.4% (2907/5339) 48.4% (53962/111496)

@pcarrier pcarrier closed this Aug 3, 2026
@pcarrier
pcarrier deleted the fix-npm-publish-order branch August 3, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant