Commit Graph
10 Commits
Author SHA1 Message Date
james.maesandClaude Fable 5.1 d749f144a8 fix(release): escape every sed metacharacter in the notes command
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-01 04:47:56 -06:00
james.maesandClaude Fable 5.1 ad09a469f3 release: draft notes for the GitHub release of 1.0.0-rc.1
docs/release-notes/1.0.0-rc.1.md is the user-facing release body (install
table, the Gatekeeper and SmartScreen notes, getting started, what is in
it, known limitations), with the exact rc.1 command sequence for James
in an HTML comment that GitHub does not render. release.mjs prints
--notes-file with that file when one exists for the version, else the
CHANGELOG section.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 21:44:18 -05:00
james.maesandClaude Fable 5.1 3a315bfe7d release: a final CLI ships with final client, core and conformance
The orb (PR #165) publishes all four packages as rc when any of them is
a prerelease and as latest only when all are final. The readiness gate
gains a package-versions line that refuses a final CLI version while
client, core or conformance is still a prerelease; release.mjs derives
the dist-tag from all four. The runbook's version table, the rc-to-final
step and the publish step follow the rule, and its signing step now
uses sign-macos.sh and sign-windows.sh.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 19:31:41 -05:00
james.maesandClaude Fable 5.1 f241e29383 release: readiness gate for a final release, and npm run release -- --check
scripts/readiness.mjs reports what a final release still lacks: parity
rows that are partial or todo in the CLI or TUI column (a blocked row
must cite a finding or issue), server findings without an issue link, a
missing CHANGELOG entry for the version, and qqq commands quoted in
README.md and TRY-IT.md that the program (createProgram from the built
CLI) does not have. release.mjs refuses a non-prerelease version until
the report is clean, prints it as information for a prerelease, and
--check prints only the report. Today: 122 CLI and 152 TUI rows open,
everything else clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 19:28:32 -05:00
james.maesandClaude Fable 5.1 4778298f3b release: final versions print dist-tag latest and a latest GitHub release
A prerelease keeps rc and --prerelease; 1.0.0 prints --tag latest,
--latest, and the dist-tag commands that move latest while the orb
still publishes everything as rc. The printed packaging step names the
tap's formula path and the signing step.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 19:23:55 -05:00
james.maesandClaude Fable 5.1 690a7ef533 build: the qqq binary carries the terminal UI by default
James's decision: one qqq binary per platform with the UI is the release
artifact. npm run binaries and release.mjs bundle the TUI unless
--cli-only. Both entries now start the built CLI (packages/cli/dist),
the module the TUI imports as @qrun-io/qqq-cli/program, so the CLI
program is in the bundle once (darwin-arm64: 100.8 -> 100.5 MB; the rest
of the 16 MB over the CLI-only build is React, OpenTUI and its native
library).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 19:09:53 -05:00
james.maesandClaude Fable 5.1 69e7ad669a release: --with-tui, and the TUI distribution findings
release.mjs passes --with-tui to the binary build. docs/packaging
records the three ways tried to ship qqq ui (one binary with the UI, a
second qqq-ui binary, npm with Bun), the sizes, what was smoke-tested
and what was not, and recommends one qqq binary with the UI bundled.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 18:59:58 -05:00
james.maesandClaude Fable 5.1 d4bbccaf42 release: include the musl binaries in a release build
scripts/install.sh picks qqq-linux-<arch>-musl on Alpine, so a release
without them would leave those hosts with a 404.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 18:50:11 -05:00
james.maesandClaude Fable 5.1 bef8762aa0 release: run the TUI's Bun tests and type check before a release
The TUI is neither published nor bundled into the qqq binaries yet, but
it builds on the same kernel, so a release that breaks it should stop.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 18:41:12 -05:00
james.maesandClaude Fable 5.1 2bc76f6dc4 release: scripts/release.mjs checks a release and prints the commands
Clean tree, free tags, npm ci, the orb's generate-drift, build and test
steps, lint, npm pack dry runs and the binaries; then it prints the
signed tag, npm publish and gh release commands. It never tags,
pushes or publishes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 18:28:04 -05:00