docs(adr): record the forge-test rules in a new ADR #695

Open
opened 2026-10-03 18:06:02 +00:00 by hexajon · 0 comments
Owner

What

Four rules about forge tests need one record:

  1. Forge tests run against throwaway Forgejo and Gitea servers. No test uses a
    fake server or a fake forge client. Today this rule sits in the
    Confirmation section of ADR 0017.
  2. The tests run as a non-root user. The harness never turns off a forge's
    refusal to run as root.
  3. The local gate runs the forge tests only inside an Incus VM. The VM can run
    on any machine that the gate can reach (#692).
  4. Only cmd/madtea-dev and _test.go files import internal/testforge.
    cmd/madtea never depends on it. internal/testforge imports no internal
    package outside its own tree.

Decision

All 4 rules go into one new record, "Forge tests use throwaway servers".

  • ADR 0017 drops its forge-test paragraph and points to the new record.
  • ADR 0014 points to the new record for the harness import rule.
  • ADR 0022 says "forge tests" in place of "fake-server tests".

Acceptance

  • The new record holds the 4 rules, with status proposed.
  • The edits to 0014 and 0017 land with ADR-ACCEPT 0014 and ADR-ACCEPT 0017
    on a decision issue (ADR 0047).
  • adr check passes.

Related: #674, #677, #692, #693.

## What Four rules about forge tests need one record: 1. Forge tests run against throwaway Forgejo and Gitea servers. No test uses a fake server or a fake forge client. Today this rule sits in the Confirmation section of ADR 0017. 2. The tests run as a non-root user. The harness never turns off a forge's refusal to run as root. 3. The local gate runs the forge tests only inside an Incus VM. The VM can run on any machine that the gate can reach (#692). 4. Only `cmd/madtea-dev` and `_test.go` files import `internal/testforge`. `cmd/madtea` never depends on it. `internal/testforge` imports no internal package outside its own tree. ## Decision All 4 rules go into one new record, "Forge tests use throwaway servers". - ADR 0017 drops its forge-test paragraph and points to the new record. - ADR 0014 points to the new record for the harness import rule. - ADR 0022 says "forge tests" in place of "fake-server tests". ## Acceptance - The new record holds the 4 rules, with status `proposed`. - The edits to 0014 and 0017 land with `ADR-ACCEPT 0014` and `ADR-ACCEPT 0017` on a decision issue (ADR 0047). - `adr check` passes. Related: #674, #677, #692, #693.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#695
No description provided.