Skip to content

Commit 62bbceb

Browse files
CodeWhale Botclaude
andcommitted
docs: correct FreeBSD source-build claims (#1097)
FreeBSD stays a source-only target, with no prebuilt asset and no release-matrix row (founder decision 2026-10-25, item 14). This change fixes the claims the issue sweep found to be false or stale: - packaging/freebsd/README.md said x86_64-unknown-freebsd "is validated in CI ... on the release/0.9.5 branch". No job does this: `git grep -i freebsd -- .github scripts` matches only a YAML comment. The README now says no CI job checks the target and gives the cargo check command to run on a FreeBSD host. - The README pointed to crates/tui/build.rs for the rquickjs bindgen fix. 1582ba9/5eb0385e8f touch only crates/workflow-js/Cargo.toml, which holds the target_os = "freebsd" bindgen dependency. It now names that file. - The README now states the Rust minimum, 1.89 (Cargo.toml rust-version), and its verification block no longer says ">= 1.88". The matrix list now says Linux musl arm64, which is the target the matrix builds, not gnu. - The release-artifacts.yml build-job comment no longer claims a FreeBSD cargo check. It now says FreeBSD has no prebuilt asset, no npm binary and no CI check. - "OpenBSD" is dropped from the support-table row in docs/INSTALL.md and docs/zh_hans/INSTALL.md. workflow-js has no rquickjs bindgen entry for openbsd, and no OpenBSD build has been verified. Ignore the vendor Ratatui target directory produced by its separate-workspace test command; generated output is preserved in the SSD cache, not committed. Docs, ignore rules and a YAML comment only; no product behaviour changes, so no CHANGELOG bullet. Verified by read-only greps against the worktree. No FreeBSD compile was attempted. Verified as one frozen batch at 7db526a725 plus consensus patch sha256 d6418055436eaada55f4cbedc954a0eeeb51d9d922716a3588006cf7932fab45: - scripts/with-hermetic-test-home.sh scripts/dev-cargo.sh nextest run -p codewhale-tui -p codewhale-localization --lib --locked: 15343 run, 15341 passed, 2 failed, 25 skipped; build 3m41s. The two fixed-width rendered-fixture failures came from the long SSD TMPDIR wrapping paths mid-needle. Same source/binary, shorter SSD TMPDIR, only those two tests rerun: 2 passed, 15312 skipped. Distinct passing coverage across both runs: 15289 TUI + 54 localization tests. - scripts/with-hermetic-test-home.sh scripts/dev-cargo.sh test --manifest-path vendor/codewhale-ratatui/Cargo.toml --locked --all-targets: 145 passed, 0 failed (128 library and 17 example tests). - fmt and diff checks passed; changelog sync passed; runtime boundary PASS (120 closure modules); dead-code budget 212; blocking-call budget 543 across 165 files; locale parity 2583 keys in all 15 packs. - The vocabulary guard initially failed on an already-published advertised legacy alias. Both refuters confirmed the docs-only correction; the unchanged guard then passed. Web prebuild and check-facts passed. Before peer reconciliation, only .gitignore, docs/MODES.md and generated web documentation changed after native tests; frozen compiler inputs were identical. Published peer commits aa45bf8/485382f81d then advanced main. Their exact diff was integrated, preserving their ancestry and regenerating web docs. Focused reconciliation nextest (TUI ops/runtime_info/spawn and CLI cloud callers): 117 passed, 0 failed, 15698 skipped; source remained frozen (104 TUI, 13 CLI). Command/filter and source SHA256 are retained in coordination/land-0103-20261025/reconciliation-test-run.json. Final integrated tree f297b67 is checked against the regenerated commits. macOS ld emitted its __eh_frame size warning. No hosted CI, FreeBSD/Linux compile, paid provider call, install, deploy, or release is claimed. This does not resolve #1097: the npm prebuilt and pkg port asks remain open. Refs #1097 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 9f4993f commit 62bbceb

5 files changed

Lines changed: 12 additions & 10 deletions

File tree

‎.github/workflows/release-artifacts.yml‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,8 @@ jobs:
8787
# Both cold macOS artifact builds on 0.10.1 exhausted 90 minutes inside
8888
# compilation. Keep the full CI build budget; packaging stays capped below.
8989
timeout-minutes: 210
90-
# FreeBSD is a source-build target validated via `cargo check --target x86_64-unknown-freebsd -p codewhale-cli --locked`
91-
# (see packaging/freebsd/README.md and docs/INSTALL.md#freebsd). The 7×1 prebuilt matrix stays 7 targets;
92-
# FreeBSD has no prebuilt asset, no npm binary, and no matrix bloat — it builds from source.
90+
# FreeBSD is a source-build target with no prebuilt asset, no npm binary and no CI check
91+
# (see packaging/freebsd/README.md and docs/INSTALL.md#freebsd).
9392
strategy:
9493
fail-fast: false
9594
matrix:

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Build artifacts
22
/target
33
/target-*
4+
/vendor/codewhale-ratatui/target/
45
.entire/
56
.cursor/
67
.plans/

‎docs/INSTALL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1005,7 +1005,7 @@ v0.8.8 onward. Linux RISC-V prebuilts are temporarily paused because the locked
10051005
| Windows | arm64 | `codewhale-windows-arm64.exe`, `codew-windows-arm64.exe` | ✅ | ✅ |
10061006
| Linux x64 or arm64 on musl (Alpine) | native arch | matching static Linux asset | ✅ (static) | ✅ |
10071007
| Other Linux (musl on other arches) | — | build from source | ❌¹ | ✅² |
1008-
| FreeBSD 14+ / OpenBSD | x64, arm64 | `cargo install codewhale-cli --locked` (no prebuilt; see § FreeBSD) | ❌ | ✅² |
1008+
| FreeBSD 14+ | x64, arm64 | `cargo install codewhale-cli --locked` (no prebuilt; see § FreeBSD) | ❌ | ✅² |
10091009

10101010
¹ The npm package will exit with a clear error and point you here.
10111011
² Provided your toolchain can compile a recent Rust workspace; see

‎docs/zh_hans/INSTALL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ v0.10.0 的已知 bug。bash 和 fish 没问题。
764764
| Windows | arm64 | `codewhale-windows-arm64.exe`, `codew-windows-arm64.exe` | ✅ | ✅ |
765765
| Linux x64 或 arm64 上的 musl(Alpine) | 原生架构 | 匹配的静态 Linux 资源 | ✅(静态) | ✅ |
766766
| 其他 Linux(其他架构上的 musl) | — | 从源码构建 | ❌¹ | ✅² |
767-
| FreeBSD 14+ / OpenBSD | x64, arm64 | `cargo install codewhale-cli --locked`(无预编译;见 § FreeBSD) | ❌ | ✅² |
767+
| FreeBSD 14+ | x64, arm64 | `cargo install codewhale-cli --locked`(无预编译;见 § FreeBSD) | ❌ | ✅² |
768768

769769
¹ npm 包会以明确的错误退出,并引导你到这里。
770770
² 前提是你的工具链能编译较新的 Rust workspace;见下文[从源码构建](#5-cargo-与从源码构建)。

‎packaging/freebsd/README.md‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ Resolves #1097 — FreeBSD install via `cargo` today, native `pkg` port planned.
55
## Current: cargo install (supported)
66

77
FreeBSD has no prebuilt GitHub Release asset. The npm wrapper intentionally fails with
8-
`Unsupported platform: freebsd` and points to the Cargo path. Build from source:
8+
`Unsupported platform: freebsd` and points to the Cargo path. Build from source with
9+
Rust 1.89 or newer (the workspace `rust-version`):
910

1011
```bash
1112
pkg install -y rust pkgconf git # or: pkg install -y lang/rust devel/pkgconf devel/git
@@ -22,13 +23,14 @@ installed `codewhale-tui` from ports or Cargo, run
2223

2324
Linux `libdbus-1` / `pkg-config` build deps are not needed on FreeBSD for the default
2425
feature set; the `rquickjs` FreeBSD bindings are generated at build time via `bindgen`
25-
(see `crates/tui/build.rs` and the `1582ba965`/`5eb0385e8` FreeBSD bindgen fix).
26+
(see the `target_os = "freebsd"` dependency in `crates/workflow-js/Cargo.toml`, added by
27+
`1582ba965`/`5eb0385e8`).
2628

2729
## Target validation
2830

29-
- Rust tier-2 target `x86_64-unknown-freebsd` is validated in CI via `cargo check --target x86_64-unknown-freebsd -p codewhale-cli --locked` on the `release/0.9.5` branch.
31+
- No CI job builds or checks the Rust tier-2 target `x86_64-unknown-freebsd`, so FreeBSD source builds are not verified before a release. To check one, run `cargo check --target x86_64-unknown-freebsd -p codewhale-cli --locked` on a FreeBSD host.
3032
- `aarch64-unknown-freebsd` cross-check is tracked for future hardware.
31-
- The release matrix in `.github/workflows/release-artifacts.yml` remains 7×1 (Linux musl x64, Linux gnu arm64, Android arm64, macOS x64/arm64, Windows x64/arm64). FreeBSD is a source-build target — no prebuilt asset, no matrix bloat, but the row in `docs/INSTALL.md` is authoritative.
33+
- The release matrix in `.github/workflows/release-artifacts.yml` remains 7×1 (Linux musl x64, Linux musl arm64, Android arm64, macOS x64/arm64, Windows x64/arm64). FreeBSD is a source-build target — no prebuilt asset, no matrix bloat, but the row in `docs/INSTALL.md` is authoritative.
3234

3335
## Future: native pkg / port
3436

@@ -53,7 +55,7 @@ and report the `codewhale doctor` JSON in #1097.
5355

5456
```bash
5557
# on a FreeBSD 14.1 amd64 host or VM
56-
rustc --version # >= 1.88
58+
rustc --version # >= 1.89
5759
cargo install --path crates/cli --locked
5860
codewhale --version
5961
codewhale exec --auto "run pwd"

0 commit comments

Comments
 (0)