Skip to content

test(forge-lab): containerised Gitea forge evidence for 1.0 - #782

Merged
orieg merged 4 commits into
mainfrom
claude/gitea-forge-lab-d1b8c6
Oct 16, 2026
Merged

orieg merged 4 commits into
mainfrom
claude/gitea-forge-lab-d1b8c6

Conversation

@orieg

@orieg orieg commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Closes #774

Adds tests/forge-lab/, a re-runnable lab that produces the 1.0 forge evidence (Phase 11 Step 0 row 2) from a disposable Gitea and act_runner in Docker, and records the results in docs/ROADMAP.md.

  • up.sh: Gitea 28.1.0 and act_runner v0.6.1 on a private Docker network, pinned by tag and digest; an admin and a test user with generated throwaway credentials kept outside the repository; a test repository seeded with the base of tests/action/make-fixture.sh, a discipline.toml written by discipline init of v0.22.0, the job-container recipe extracted verbatim from docs/CONFIGURATION.md (image pinned by tag and digest, refs/pull/<n>/head checkout; the run line also prints the JSON report) and its push counterpart; a branch rule requiring the recipe's check with the workflows as protected files; the runner registered with a one-use token passed through the environment.
  • record.sh: the five records, each asserted on its diagnostic (log line, JSON report field, forge router log), never on an exit code alone.
  • down.sh: removes the containers, the network and the state directory.

RUN 2026-10-16, a full down.sh && up.sh && record.sh cycle:

  1. Gitea 28.1.0, act_runner v0.6.1, discipline 0.22.0.
  2. Clean pull request: success on the pull request head, Status: PASS, no gate in the report.
  3. Inverted canary: failure; report gate ids exactly assertion-reduction, pii, time-estimates, unsafe-safety-comment, vacuous-tests.
  4. Push run on main after the squash merge: success, note merged-pr-body: commit <sha> arrived through merged pull request #1 (author tester); Gitea logged GET /api/v1/repos/tester/sample/commits/<sha>/pull 200.
  5. discipline doctor: exit 0; required-check, workflow-protection, up-to-date, force-push, deletion, pull-request Pass; the review, CODEOWNERS, token-permission, bypass and tag-protection Warns reflect settings the lab repository does not set.

Discrimination (RUN): assert-report.sh on the canary report fails with a gate removed from the expected set and fails under pass; the router-log grep fails for a sha that was not requested.

The push workflow sets DISCIPLINE_FORGE_ALLOW_HTTP=1 because the lab forge serves plain HTTP on the private network. Forgejo with its runner is not covered here.

No workflow file of this repository changes; the lab's workflows exist only inside the disposable forge.

Adds tests/forge-lab/ (up.sh, record.sh, down.sh): a disposable Gitea
28.1.0 and act_runner v0.6.1 on a private Docker network, a seeded test
repository running the documented job-container recipe on pull_request and
push, and the five records Phase 11 Step 0 row 2 lists, each asserted on its
diagnostic. docs/ROADMAP.md records the RUN 2026-10-16 results: Step 0 row 2
done, the 1.0 forge-evidence criterion met, and the Gitea Actions bullet of
Outstanding Checks summarised.

Closes #774

Signed-off-by: Nicolas Brousse <nicolas@brousse.info>
@orieg
orieg enabled auto-merge (squash) October 16, 2026 18:51
@orieg
orieg merged commit d2c27a9 into main Oct 16, 2026
18 checks passed
@orieg
orieg deleted the claude/gitea-forge-lab-d1b8c6 branch October 16, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Containerised Gitea and Forgejo forge evidence for 1.0

1 participant