Commit 56e207e
fix(ci): unblock the now-honest static-analysis gate and the Idris2 CI job (#28)
Follow-up to #27, which merged before these two fixes were pushed.
Without them
`main` is red on `🔴 Gate: Static analysis` and `CI / required`.
## 1. `.envrc` — Hypatia critical `secret_detected`
#27 turned the Hypatia step in `static-analysis-gate.yml` from a **fake
gate**
into a real one. Before #27 it passed without ever scanning, via three
separate
routes:
- `continue-on-error: true` on the scanner build,
- `if: steps.build.outputs.ready == 'true'` skipping the scan when that
build failed,
- `echo "[]" > hypatia-findings.json` overwriting unparseable output
with an empty array.
#27 pins the scanner to a commit, verifies the SHA, builds it properly,
and fails
on critical findings. It went red because it **started working** — this
is not a
regression.
The first thing it caught:
```
.envrc:24 # export API_KEY="..."
```
A commented-out placeholder, so a false positive — but the fix is to
stop writing
assignment-shaped comments rather than to suppress the finding. The
guidance is
kept in prose, pointing at the gitignored `.env`.
The scan also reports **7 `high`** findings (`instant-sync.yml`,
`build/setup.sh`,
`src/interface/ffi/src/main.zig` ×2, and duplicates). Those do not gate
and are
left for separate triage rather than being swept in here.
## 2. `ci.yml` — Zig setup failed inside the Idris2 container
The pinned `idris2-pack` image ships no `xz` binary, so `setup-zig`'s
`.tar.xz`
download died:
```
tar (child): xz: Cannot exec: No such file or directory
Error: The process '/usr/bin/tar' failed with exit code 2
```
Installs `xz-utils` first, guarded by a `command -v` check so it is a
no-op on
images that already have it.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent 3ffd80e commit 56e207e
2 files changed
Lines changed: 15 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
29 | 41 | | |
30 | 42 | | |
31 | 43 | | |
| |||
0 commit comments