gate: run the forge tests only inside an Incus VM #692

Open
opened 2026-10-03 16:55:44 +00:00 by hexajon · 0 comments
Owner

What

The forge tests start real Forgejo, Gitea, and Traefik binaries. In the local
gate, these binaries run only inside an Incus VM, never directly on a
developer's OS. The VM can run on the developer's machine or on another machine
that the gate can reach. Today scripts/gate.sh runs go test directly on the
developer's OS, so the harness would start the binaries there.

What to build

  • An Incus VM for the forge tests, and a way for scripts/gate.sh to run the
    forge tests inside it, on the developer's machine or on another machine.
  • Inside the VM, go test runs as a normal user, because Forgejo and Gitea
    refuse to start as root.

Acceptance

  • The gate starts no Forgejo, Gitea, or Traefik process directly on the
    developer's OS.
  • The gate output shows that the forge tests ran inside the VM against both
    forges, with no skipped forge test.
  • The gate works with a VM on the developer's machine and with a VM on another
    machine.

Part of #674. #678 needs this.

## What The forge tests start real Forgejo, Gitea, and Traefik binaries. In the local gate, these binaries run only inside an Incus VM, never directly on a developer's OS. The VM can run on the developer's machine or on another machine that the gate can reach. Today `scripts/gate.sh` runs `go test` directly on the developer's OS, so the harness would start the binaries there. ## What to build - An Incus VM for the forge tests, and a way for `scripts/gate.sh` to run the forge tests inside it, on the developer's machine or on another machine. - Inside the VM, `go test` runs as a normal user, because Forgejo and Gitea refuse to start as root. ## Acceptance - The gate starts no Forgejo, Gitea, or Traefik process directly on the developer's OS. - The gate output shows that the forge tests ran inside the VM against both forges, with no skipped forge test. - The gate works with a VM on the developer's machine and with a VM on another machine. Part of #674. #678 needs this.
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.

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