You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 769f493
Browse filesBrowse the repository at this point in the historyBrowse files
feat(release): ship the Homebrew formula from native release tarballs
Port the CodexBar Homebrew channel: the formula installs the native
per-platform tarball (macOS/Linux x arm64/x64) with a --version test
instead of the npm tarball plus a node dependency.
- update-brew-formula renders the whole formula, hashes downloaded
tarballs (404 poll), pushes with rebase retry, reads it back
- update-brew-tap waits for publish-native-assets
- verify-brew-install installs from the public tap on macOS + Linux and
is the Homebrew lane result in the release summary
- a native binary under a Homebrew Cellar reports source homebrew and
never stages or swaps itself
- release skill documents the lane
|`Redeploy CDN` + verify | native assets published | Webhook may retry; verification is the hard gate |
46
-
|`Update Homebrew tap`| CLI was published | App token scoped to `homebrew-tap` contents |
46
+
|`Update Homebrew tap`| native assets published | Renders `Formula/pythinker-code.rb` from the four native `.tar.gz` (macOS/Linux × arm64/x64), hashes downloaded bytes, pushes with an App token scoped to `homebrew-tap` contents, reads the formula back from the tap |
47
+
|`Verify Homebrew install`| tap updated |`brew install` + `brew test` from `pymodel/tap` on macOS and Linux; `pythinker --version` must equal the release. This is the Homebrew lane result in the summary |
47
48
|`Release lane summary`| always | One table with provenance state; fails when an expected enabled lane failed or skipped |
48
49
49
50
Set `RELEASE_LANE_DESKTOP`, `RELEASE_LANE_VSCODE`, `RELEASE_LANE_CDN`, or
@@ -70,6 +71,17 @@ otherwise errors.
70
71
`beta`/`dev` tags). A mismatch means the checkout in the job predates the release commit or npm
71
72
propagation lag — check `npm view @pymodel/pythinker-code dist-tags` before touching anything.
72
73
Dokploy deploy specifics: see memory `cdn-dokploy-deploy-pipeline`.
74
+
-**Homebrew lane red.**`Update Homebrew tap` polls each native tarball for 10 minutes, so a
75
+
failure there means the release has no tarball for that target: check `Publish native release
76
+
assets` first. `Verify Homebrew install` red with the bump green means the formula installs but the
77
+
binary fails in a keg on that OS; reproduce with `HOMEBREW_NO_AUTOREMOVE=1 brew install
Homebrew installs the native `pythinker` binary on macOS and Linux and no longer requires Node.js; a Homebrew install updates only through `brew upgrade`.
0 commit comments