ci: let the release archives find their terminfo entry and their docker #364

Merged
natsukium merged 1 commit from release/issue-360-terminfo-layout into main 2026-09-23 07:34:25 +09:00
Owner

The v0.1.0-rc.3 tag run (actions run 4211) passed every existing gate and failed both new archive jobs before any archive was verified:

  • publish felis (aarch64-darwin): "the archive is missing share/terminfo/x/xterm-felis". The darwin package's tic files the entry under 78/, not x/ (nix/compile-terminfo.sh already documents and handles this). Both manifests now locate the entry with find instead of assuming a layout, and install.md's copy-into-~/.terminfo snippet copies the whole tree.
  • package felis (x86_64-linux): docker: command not found. The runner service's PATH has no docker client (the socket is reachable; the user is in the docker group). The smoke now runs docker through nix shell --inputs-from . nixpkgs#docker-client, the same pattern the darwin job uses for otool and bash.

Refs #360.

Verified: bash -n on both manifests; the fixed Linux manifest passes on a freshly built felis-dist tree (share/terminfo/x/); nix shell --inputs-from . nixpkgs#docker-client -c docker version reaches the daemon (server 29.8.0) on this host; just fmt-check prose-check; pre-commit (lychee, treefmt) passed. Only a tag run (v0.1.0-rc.4) exercises the darwin manifest with 78/ and the container smoke under the runner's service PATH.

The `v0.1.0-rc.3` tag run (actions run 4211) passed every existing gate and failed both new archive jobs before any archive was verified: - `publish felis (aarch64-darwin)`: "the archive is missing share/terminfo/x/xterm-felis". The darwin package's tic files the entry under `78/`, not `x/` (`nix/compile-terminfo.sh` already documents and handles this). Both manifests now locate the entry with `find` instead of assuming a layout, and install.md's copy-into-`~/.terminfo` snippet copies the whole tree. - `package felis (x86_64-linux)`: `docker: command not found`. The runner service's PATH has no docker client (the socket is reachable; the user is in the `docker` group). The smoke now runs `docker` through `nix shell --inputs-from . nixpkgs#docker-client`, the same pattern the darwin job uses for `otool` and `bash`. Refs #360. Verified: `bash -n` on both manifests; the fixed Linux manifest passes on a freshly built `felis-dist` tree (`share/terminfo/x/`); `nix shell --inputs-from . nixpkgs#docker-client -c docker version` reaches the daemon (server 29.8.0) on this host; `just fmt-check prose-check`; pre-commit (lychee, treefmt) passed. Only a tag run (`v0.1.0-rc.4`) exercises the darwin manifest with `78/` and the container smoke under the runner's service PATH.
ci: let the release archives find their terminfo entry and their docker
Some checks failed
darwin / build felis (aarch64-darwin) (pull_request) Successful in 54s
darwin / publish felis (aarch64-darwin) (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 4m40s
pr / cargo build / clippy / test / deny (pull_request) Successful in 3m36s
pr / wire schema is compatible with the base (pull_request) Successful in 18s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 11m49s
windows / detect relevant changes (pull_request) Successful in 4s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Successful in 3m47s
windows / frontend smoke (Windows) (pull_request) Successful in 1m32s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
bench / Criterion regression gate (pull_request) Failing after 19m14s
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Has been skipped
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 3m17s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / cargo clippy (Windows cross) (pull_request) Successful in 26s
4542fdb6fe
The first tag run with the archive jobs failed both of them before any
archive was checked. The darwin manifest looked for the terminfo entry
under share/terminfo/x/, but tic files the entry under a directory
named for the terminal name's first character, and which spelling that
takes depends on the ncurses build: the darwin package ends up with
78/, the Linux one with x/. nix/compile-terminfo.sh already locates the
entry instead of assuming a layout; both manifests now do the same, and
the install guide copies the whole compiled tree into ~/.terminfo so
the instructions hold for either spelling.

The Linux container smoke called docker by name, but the runner's
service PATH carries no docker client, only the socket its user may
open. The client now comes from the flake's own nixpkgs through
nix shell, the same way the darwin job obtains otool and bash.

Assisted-by: Claude Code
natsukium deleted branch release/issue-360-terminfo-layout 2026-09-23 07:34:25 +09:00
Commenting is not possible because the repository is archived.
No description provided.