Diffinery

codician/diffinerypublic

Open-source, agent-first GitHub and GitHub Actions alternative that runs on your own Cloudflare account: git hosting, pull requests, code review and drop-in GitHub Actions YAML on Workers, Durable Objects, R2 and Containers.

Docs: the Deploy workflow waits for the container rollout (#130)

#127 added a Deploy step that waits for new containers to get the new runner image. The self-hosting deploy page's list of what one run does didn't have it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016q5wwBFck8JHq14gHUM2CL
Canberk Demirci authored · GitHub committed signed1 parent cdef704commit 772e5eb69c5fd06a3b890876fa7de2a9d1172848Browse files
1 file changed+4−3
modifiedapps/diffinery/docs/self-hosting/deploy.md+4−3View file
@@ -28,9 +28,10 @@
2828 1. Install dependencies, build the runner agent, the web UI's client bundles and the documentation (the pages under `apps/diffinery/docs`, the CLI reference and the CLI file served at `/-/cli/diffinery.mjs`), typecheck and run the unit tests.
2929 2. `scripts/bootstrap.sh` creates whatever is missing in your account (D1 database, R2 bucket, queues, the Cloudflare Access application for `/auth/access`), sets the R2 bucket's lifecycle rules, checks Email Sending, writes `apps/diffinery/wrangler.deploy.jsonc` with the real IDs and your hostname's route, `PUBLIC_URL` and email sender, and applies D1 migrations.
3030 3. `wrangler deploy -c wrangler.deploy.jsonc` uploads the Worker, the Durable Object classes, the two Workflows (workflow runs and GitHub imports) and the cron trigger, and builds and pushes the runner image for Containers.
31-4. `scripts/ensure-secrets.sh` creates the Worker's two secrets, `MASTER_KEY` and `OIDC_PRIVATE_KEY`, the first time only.
32-5. On the very first deploy, bootstrap runs again to finish the Access setup, and the Worker is redeployed.
33-6. Smoke tests check `/healthz`, the sign-in pages, static assets and D1 sessions.
31+4. `scripts/wait-container-rollout.sh` waits until the container rollouts of the new runner image reach their last step, so jobs and sandboxes started after the deploy get the new image. Running containers keep the old image until they finish. It gives up with a warning, not a failure, after `ROLLOUT_WAIT_MINUTES` (10 by default).
32+5. `scripts/ensure-secrets.sh` creates the Worker's two secrets, `MASTER_KEY` and `OIDC_PRIVATE_KEY`, the first time only.
33+6. On the very first deploy, bootstrap runs again to finish the Access setup, and the Worker is redeployed.
34+7. Smoke tests check `/healthz`, the sign-in pages, static assets and D1 sessions.
3435
3536 ## Step 1: Point the code at your domain
3637