Skip to content

Commit 515f0ae

Browse files
triage++
1 parent 4960d7a commit 515f0ae

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# TASK-148 — Linux CI + test parity (not just Darwin)
2+
3+
## Goal
4+
Make sure our build + test workflows run on Linux (CI + local), not only Darwin.
5+
6+
## Status
7+
- State: triage
8+
- Priority: high
9+
10+
## Context
11+
We have strong Darwin coverage (local dev + artifacts), but Linux can silently rot unless we exercise it regularly.
12+
13+
This task adds/strengthens Linux execution for the same “canonical” test entrypoints we trust on macOS.
14+
15+
## Files to Modify
16+
(Keep scope tight; expand only when necessary.)
17+
- `.github/workflows/*` (add/adjust Linux jobs for the canonical test entrypoints)
18+
- `flake.nix` / `flake.lock` (if Linux nix deps or build inputs differ)
19+
- `zig/harness/test-*.sh` (fix Darwin-only assumptions: GNU vs BSD tools, paths, dylib/so, etc.)
20+
- `Makefile` / `zig/Makefile` (if targets assume Darwin)
21+
- `scripts/build-linux-docker.sh` (if it becomes the canonical Linux pathway)
22+
23+
## Acceptance Criteria
24+
1. CI coverage
25+
- At least one GitHub Actions workflow runs the canonical test suite on `ubuntu-latest`.
26+
- The Linux job uses deterministic provisioning (prefer `nix`), not ad-hoc apt installs.
27+
28+
2. Canonical commands pass on Linux
29+
- From a clean checkout on Linux, the documented/canonical commands complete successfully:
30+
- `nix build` (or repo’s canonical build target)
31+
- `make test` / `make -C zig test-parity` (whichever is canonical for this repo)
32+
- No harness emits `SKIP:` / `SKIPPED:` and exits 0.
33+
34+
3. Cross-platform script hygiene
35+
- Any bash scripts used by CI (esp. `zig/harness/test-*.sh`) run on both Darwin + Linux.
36+
- OS/tooling differences are handled explicitly (e.g. GNU `sed` vs BSD `sed`, `mktemp`, `realpath`, `uname`, `.dylib` vs `.so`).
37+
38+
4. Repro notes captured
39+
- The task completion notes include the exact commands to reproduce Linux results locally.
40+
41+
## Parent Docs / Cross-links
42+
- `.github/workflows/` (current CI coverage)
43+
- `AGENTS.md` (Zig testing policy; nix usage; sqlite-cr wrapper constraints)
44+
- `.tasks/done/TASK-144-cross-platform-compat-no-skip.md` (related “no skip” posture)
45+
- `.tasks/triage/TASK-146-fail-fast-loud-harness.md` (harness discipline: failures must fail)
46+
- `research/zig-cr/92-gap-backlog.md`
47+
48+
## Progress Log
49+
- 2025-12-21: Created from request to ensure Linux coverage.
50+
51+
## Completion Notes
52+
(Empty until done.)

0 commit comments

Comments
 (0)