Proposal: Gitea forge for E2E tests
A local Git forge inside the E2E container, so apps that talk to a Git host can be tested without GitHub or network access.
Proposal, not built. Nothing on this page exists in the repository yet except where “What exists today” says so.
Proposal
Start a Gitea server (SQLite database, data under /tmp) when an E2E run needs one, seed it, and point the apps at it.
- Add a Gitea binary or sidecar to the E2E image built from
infra/docker. - Add helpers to
packages/robos-testto start, seed and reset the forge. The original spec namedstartTestForge(),stopTestForge(),seedForgeRepo()andresetForgeState(). - Seed users, an organization, repositories with branches, issues and pull requests.
- Let Git Projects, Issue Manager and Git Login Manager read a forge base URL from the environment. The original spec named
ROBOS_GIT_FORGE_URLandROBOS_GITHUB_API_BASE.
The goal is to exercise clone, push, issue and pull request flows against a real forge in ./scripts/e2e-container.sh runs with no external network.
What exists today
./scripts/e2e-container.shruns the tests in Docker throughinfra/docker/run.sh. The image files ininfra/dockerdo not mention Gitea.packages/robos-test/fixturesholdssample-robos-rootandstandalone-ide-windowonly. No code inpackagesreadsROBOS_GIT_FORGE_URLorROBOS_GITHUB_API_BASE.- Issue Manager runs the
ghCLI (packages/issue-manager/main.js). - Task Servers offers a “Gitea (Local OSS Forge)” entry, but
createAdapterinpackages/robos-task-client/index.jsonly supportsjiraandgithub. - Gitea Browser (
packages/gitea-browser) is a static page that looks like a Gitea issue list athttp://localhost:3000. It makes no network calls and is not a forge.
Source
Raw note: ideas/inbox/e2e-gitea-support.txt. The earlier long spec is in the git history of this file.