rig/docs/templates
cluade-reviewer-andresmgsl fd5c04efc9 test: cli.sh reads fixtures, not the host it happens to run on
13 checks failed on any box with a Forgejo runner installed — which is
exactly a box that has been drilled or used as a ci-box. Unmodified main,
773/13 on this machine.

Seven bootstrap --undo checks fell through to the real host scan. The
production code already ships the escape hatch and documents it —
bootstrap-undo.sh:33, "RIG_FORGEJO_RUNNER_DIR mirrors RIG_RUNNER_DIR above so
tests can point this at a fixture" — and the suite simply never set it. One
check rebuilt its env by hand instead of using undo(), so it needed the same
variable a second time.

Six ci-box checks drove the real template installer, which correctly exits 0
when /usr/local/bin/forgejo-runner already exists. CIBOX_BIN is a test-only
override in the same spirit; the production default is untouched and remains
the only path the mechanism uses.

Neither guard is disarmed: driven for real, undo still refuses while a runner
exists, and the template installer still does nothing when the binary is
present. Removing either override brings its failures straight back (7 and 6).

Closes #136

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 16:51:45 +00:00
..
ci-box test: cli.sh reads fixtures, not the host it happens to run on 2026-07-31 16:51:45 +00:00
README.md feat: Forgejo-native CI — a ci-box tenant and a forgejo-runner family 2026-07-27 20:40:54 +00:00

Staged template definitions

Definitions here are not the registry. They are role definitions destined for heavy-duty/rig-templates, staged in rig's tree only while the registry repo does not yet exist on the forge that will serve them (#109).

This is deliberately a waiting room, not a second registry:

  • bootstrap-tenant.sh does not look here. Nothing in this directory is reachable by a mint, and adding a lookup would recreate exactly the coupling the registry split was written to remove — where adding a tenant meant editing rig.
  • test/cli.sh lints each one with rig template-lint, the same parser a mint runs. A definition that cannot pass the schema never reaches the registry.
  • When the registry repo exists, a definition moves there verbatim and is deleted from here in the same PR.

To try one before it is anywhere, point a mint at it directly:

RIG_TEMPLATES_DIR=docs/templates rig bootstrap ci-box

That is RIG_TEMPLATES_DIR's stated purpose — "try a template before it exists anywhere" — and it is the supported path, not a workaround.