mod-nag: install fj in runner image once it is stable #1

Open
opened 2026-05-16 11:53:53 +02:00 by heiko · 1 comment
Owner

.forgejo/workflows/mod-nag.yaml now uses fj for label, issue, PR, and comment operations. To avoid baking an unstable tool into the runner image, every call is currently routed through:

FJ="go run go.schlittermann.de/heiko/fj@latest"

That works but pays a download + compile cost on first use of each job (Go's build cache amortises the rest of the same job).

Once fj (https://git.schlittermann.de/heiko/fj) is stable, switch to a pre-installed binary:

  1. In mod-nag/Dockerfile, add a step like:

    RUN go install go.schlittermann.de/heiko/fj@<pinned-version>
    
  2. In .forgejo/workflows/mod-nag.yaml, replace each FJ="go run go.schlittermann.de/heiko/fj@latest" line with FJ=fj (or drop the variable entirely and call fj directly).

  3. Update the validation checklist in .claude/CLAUDE.md and mod-nag/README.md to add fj to the list of required tools in the image.

Blockers / context:

  • Wait until fj API is settled — pinning a tag will help avoid breaking the workflow on unrelated fj changes.
  • Related upstream work: fj needs --label/--search/--head/--page flags on issue list / pr list before all remaining curl calls in mod-nag can be removed. See fj#5 and fj#6.
`.forgejo/workflows/mod-nag.yaml` now uses `fj` for label, issue, PR, and comment operations. To avoid baking an unstable tool into the runner image, every call is currently routed through: FJ="go run go.schlittermann.de/heiko/fj@latest" That works but pays a download + compile cost on first use of each job (Go's build cache amortises the rest of the same job). Once `fj` (https://git.schlittermann.de/heiko/fj) is stable, switch to a pre-installed binary: 1. In `mod-nag/Dockerfile`, add a step like: RUN go install go.schlittermann.de/heiko/fj@<pinned-version> 2. In `.forgejo/workflows/mod-nag.yaml`, replace each `FJ="go run go.schlittermann.de/heiko/fj@latest"` line with `FJ=fj` (or drop the variable entirely and call `fj` directly). 3. Update the validation checklist in `.claude/CLAUDE.md` and `mod-nag/README.md` to add `fj` to the list of required tools in the image. Blockers / context: - Wait until `fj` API is settled — pinning a tag will help avoid breaking the workflow on unrelated `fj` changes. - Related upstream work: `fj` needs `--label`/`--search`/`--head`/`--page` flags on `issue list` / `pr list` before all remaining `curl` calls in mod-nag can be removed. See fj#5 and fj#6.
Author
Owner

AI attribution comment added per repository instruction for this open issue.\n\n(co)authored by ai:gpt-5-codex

AI attribution comment added per repository instruction for this open issue.\n\n(co)authored by ai:gpt-5-codex
Sign in to join this conversation.
No description provided.