Git Bridge
Phase 1 provides a deterministic, one-shot forward sync from Gitea Main to GitHub Main. The job refuses divergence and never force-pushes.
Run after this change is merged and deployed:
docker compose --profile git-bridge run --rm --no-deps git-bridge
GitHub remains a development workspace. Production deployment continues to use only Gitea Main.
GitHub branch import
Import one reviewed cloud-development branch at a time:
sudo env GITHUB_BRANCH=codex/example \
/volume2/docker/infra/git-bridge/bin/import-github-branch.sh
Accepted prefixes are codex/, grok/, and cloud/. Before a normal push to
the same Gitea branch and creation of a Gitea pull request, the importer checks
that both Main branches match, the candidate descends from Main, an existing
Gitea branch can fast-forward, the canonical Compose renders, shell scripts
parse, and no known secret or runtime-data path is tracked. It never merges,
deploys, force-pushes, deletes a branch, or writes Main.