feat(testforge): #677 throwaway-forge test harness, tested at baseline and latest #729
No reviewers
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea!729
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-677-forge-test-harness-matrix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add the forge-test harness (ADR 0052): it downloads pinned, checksum-verified Forgejo, Gitea and Traefik binaries, starts a throwaway forge behind a rate-limited Traefik proxy as a non-root user, and gives a test a client to talk to it through the proxy.
Each forge is pinned at two versions and every forge test runs against both: a fixed baseline (Forgejo 15.0.1, Gitea 1.26.1, the versions the compatibility specs and the gap list target) and the latest release. The baseline version is authored in forge-pins.json; the forge-pins bump command fills every checksum and tracks the latest, so no version is hand-edited or hardcoded.
Acceptance, all verified against the real throwaway servers: a client reads each forge's version through the proxy; a fast request stream gets the proxy's rate-limit refusal; a stopped forge surfaces a client error; an unchecked binary fails the run and names the file; the bump writes the pin file and a second run with no new release changes nothing.
Refs #677