Builds
One build per commit. Its release rolls the same images out to each environment, through fixed stages in each.
A build is one commit's images plus the rollouts they ran in each environment. Parity makes one build for every commit pushed to the project's branch and starts its release, which rolls it out to your environments step by step.
From push to rollout
- Push. The GitHub App sees a push to the project's branch.
- Image. BuildKit builds each service's image once for the commit, tagged by its SHA. Every environment runs the same image; none rebuilds.
- Rollout. The release's first promote rolls the build out through the stages below. Services whose trigger paths didn't change keep their current build.
- Release. The rest of the release steps move the same images on: blocks for approval, soaks, jobs against an environment, and promotes.
Builds run without secrets and without network access beyond package registries, base-image registries and the hosts a service lists in build.externals. A build that reaches another host fails, naming the host.
Rollout stages
Every rollout, in every environment, runs the same fixed stages. Your own work runs inside them as steps: jobs with on: deploy, ordered by depends_on, and block steps that wait for a person.
| Stage | What runs | If it fails |
|---|---|---|
| Image | BuildKit, once per commit | Nothing rolls out. |
| Deploy steps | on: deploy jobs on the new image, in parallel unless depends_on orders them: migrations, asset uploads, block steps | The current revision keeps serving. A rejected block fails the rollout the same way. |
| Start | New pods next to the current ones, health checks within 5 minutes | The new revision is removed. The current one never stopped. |
| Switch traffic | Parity moves traffic to the new revision | The current revision keeps serving. |
After a switch the previous revision stays warm for 10 minutes, so Rollback is a traffic change. A job can run on its own image, with build tools the app doesn't ship, through a runner.
Where to see it
The console's build page shows each build per service and environment: its commit, stages, the graph of its steps, logs and timing. A waiting block step is shown there with its prompt.
image 41s web:7f3a9c2
deploy steps 12s init-db → migrate, assets
start 38s 3/3 healthy
switch 1sIn a sandbox, the same steps run on parity up; parity status lists each one with its label, state and what it runs after.