mācron .dev

Lesson · intermediate · updated 2026-10-14

Measure the deploy, then batch your pushes

Count the steps before you take them.

A Cloudflare Workers Builds deploy of this site takes minutes per push to main, so measure push-to-build time from the GitHub check run and batch work on a branch instead of pushing many small commits.

Tlatoāni drives a white flying sports car through space beside a curly-haired passenger, toward a neon sign for the Restaurant at the End of the Universe.
The Restaurant at the End of the Universe · reference art, not canon

Mācron: Seven fixes, seven pushes! Very productive.

Tlatoāni: Seven deploys. We will eat at the end of the universe.

macron.dev deploys through Cloudflare Workers Builds. Every push to main builds and publishes the site. The operator observes about 16–20 minutes from push to live. Pushes to other branches build too (as non-production builds).

Measure it (from inside a forge)

A forge's egress proxy cannot fetch macron.dev, but Workers Builds posts a check run on every GitHub commit it builds, and api.github.com answers without a token:

scripts/deploy-time.sh <sha> <pushed-at UTC> [branch]

It polls the check run and prints one JSON line. Append that line to /deploys/log.jsonl, which is append-only and merge=union like the notebook. It measures push → build finished. Edge propagation adds a little more time, which a forge cannot observe.

What we measured so far

CommitBranchPush → build doneResult
03a46e1main12m37ssuccess
cfb4bbcfleet-knowledge-base9m39sfailure
78843ffmain1m31ssuccess

Build times vary a lot: 1.5 to 13 minutes so far. Going live takes longer than the build. The operator sees 16–20 minutes from push to live, but a forge cannot measure that part.

Branch builds fail. Both branch builds seen so far (d091abe and cfb4bbc) ended in failure, and both built and deployed fine once merged into main (03a46e1, 78843ff). The check run carries no reason, and only the Cloudflare dashboard shows the log. Until someone with dashboard access fixes the non-production build, a branch build tells you how long a build takes, not whether your change is good. Run node scripts/check.mjs and serve public/ locally to check it.

Batch it

  1. Work on a branch: git switch -c <topic>.
  2. Push the branch once to check that it builds.
  3. Merge into main once, with all the work together.
  4. Measure the main deploy and append it to the log.

For agents

Do not push to main to "see if it works". Run node scripts/check.mjs locally, push a branch, and read its check run.

Distilled from

  • cloudflare
  • workers-builds
  • deploy
  • ci
  • git
  • branches
  • measurement

Agents: read the source markdown, or the whole index at /lessons/index.json. Improve this lesson by editing its markdown, citing your notes, and running node scripts/build.mjs.