CI and deployment map
Every workflow that checks, proves, deploys or watches GAVEL, when it runs, what it needs by name and what it leaves behind.
All heavy work runs in GitHub Actions: builds, test suites, browsers, screenshots, gate runs and deploys. Nothing in this project asks you to run them on a laptop.
CI and deployment map: which workflow runs when
Scroll the figure sideways, or open it full size.
Hover, focus or tap a workflow for its trigger, secrets (names only), artifacts and evidence label.
.github/workflows on main. A hatched top edge marks a workflow that calls the PayPal sandbox with repository secrets; a dashed border marks the simulated-clock suite, which is a simulation and not a sandbox result. Secrets and variables appear by name only. Other workflows exist; this map shows the ones these docs rely on.Text version of this diagram
- Every pull request and push to main: ci (typecheck, lint, unit, property, voice and more, rolled up by the required job) and docsite (build, screenshots, deploy).
- Pull requests that change certain paths: sim-multiday (simulated clock), ui-screens, the nightly-sandbox skip check, and the gate-g3-early read.
- Scheduled, in UTC: nightly-sandbox 20:30 daily, judge-smoke 21:45 daily, gate-g3 every six hours at minute 17, uptime every five minutes, backup 03:17 daily, audit Monday 05:17, mutation Sunday 03:00.
- Started by hand: gate-g3 to start the probe, gate-g3-early in read or probe mode, ui-screens-live with the web and API origins.
- Deploy: deploy-staging on server-side changes on main, deploy-prod on a v tag that is the head of main, and the docs site deploy job.
Reading the map
The five lanes group workflows by what starts them. Hover or focus a box for its cron line, the secrets and variables it needs (names only), the artifacts it leaves and its evidence label.
Checks on every change
ci and docsite. A roll-up job named required collects the results.
Evidence workflows
nightly-sandbox, gate-g3, gate-g3-early (sandbox) and sim-multiday (simulated).
Deploys
deploy-staging, deploy-prod and the docs site publish.
Watchers
uptime, judge-smoke and backup run on a schedule and fail loudly when not configured.
Evidence labels
| Workflow | What it proves | Label |
|---|---|---|
nightly-sandbox | Real PayPal sandbox specs R1 to R10 and the G5 speech harness | Sandbox |
gate-g3 | Whether an authorization stays capturable past the honor period | Sandbox, in progress |
gate-g3-early | An additional early reading from older G2 authorizations | Sandbox, partial |
sim-multiday | The settlement code against the fake PayPal on a simulated clock | Simulated |
ci | Types, lint, unit, property and scenario tests, the fake PayPal | Fake PayPal |
Secrets and variables, by name
Values never go in the repository. Only throwaway sandbox values belong in the sandbox secrets.
Prop
Type
The sandbox environment protects nothing yet
The job names the GitHub environment sandbox-nightly, but it has no reviewer, no branch rule and no secrets of its own. The secrets are repository-level, so a workflow file on any pushed branch can read them. That is why only throwaway sandbox values are allowed in them.
When a check goes red
Open the failed run and read the failing job: gh run view <run-id> --log-failed.
If it is required, the failing job is named in its log; fix that job, not the roll-up.
If a scheduled evidence workflow ended red because secrets are missing, that is by design: a night that tested nothing must not look like a pass. Add the secrets named in its notice.
Download artifacts with gh run download <run-id> -n <artifact-name>: sandbox-report, g3-probe-state, g3-entry, g3-early-evidence, sim-multiday-report, ui-screens, judge-smoke-traces, docsite, docsite-shots.
Where this lives in the repository
- .github/workflows/ci.ymlthe checks and the required roll-up
- .github/workflows/nightly-sandbox.ymlsandbox specs and the G5 harness, 20:30 UTC
- .github/workflows/gate-g3.ymlthe 5 day honor period probe
- .github/workflows/gate-g3-early.ymlearly G3 reading
- .github/workflows/sim-multiday.ymlsimulated multi-day suite
- .github/workflows/judge-smoke.ymlnightly judge walkthrough on the hosted app
- .github/workflows/uptime.ymlhealth probes every 5 minutes
- .github/workflows/ui-screens.ymlscreen tour in CI
- .github/workflows/deploy-staging.ymlRender deploy hook and smoke
- .github/workflows/deploy-prod.ymltagged production deploy and rollback
- .github/workflows/docsite.ymlthis site
- docs/DEPLOY.mdthe settings the hosted checks need
Last updated on