Repository navigation
Build logs: one timeline per Image Build, a section per Builder - #1127
Merged
Merged
Conversation
Each Builder's go is a section of the Image Build's log, keyed by a new attempt column. A move opens with one plain sentence from the skip trail. Cloud times the wait for a runner; ployz build streams the push; the SDK reports sending each image to its Machines. The mechanical Built-on header is gone; routine selection reasons stay in the data only.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
🚅 Environment ployz2-pr-1127 in Ployz Dashboard has no services deployed. |
added 5 commits
September 26, 2026 03:34
# Conflicts: # dashboard/src/components/deployment-logs.tsx
…e view, sending in the deploy log The walk passes each go's attempt; the skip-trail subquery and per-step overrides are gone. Section headings come from the go's Builder, not a heading row. The runner wait opens once, before dispatch. Sending an image is the deploy's: it reads in that Service's deploy log and a delivery failure no longer reddens the build. A failed check-in names its cause.
… with their report, sending tracked apart A servers not_started skip carries the Server the Engine chose, so its section still reads "Building on hel-1". A runner report files its steps in the same transaction as the guard that takes it, so one that loses to a move leaves nothing open in GitHub's section. The collector tracks the Service being sent on its own and never leaks it into later phases.
# Conflicts: # dashboard/src/components/deployment-logs.tsx
nick-potts
added a commit
that referenced
this pull request
Sep 30, 2026
* Build logs: one timeline per Image Build, a section per Builder Each Builder's go is a section of the Image Build's log, keyed by a new attempt column. A move opens with one plain sentence from the skip trail. Cloud times the wait for a runner; ployz build streams the push; the SDK reports sending each image to its Machines. The mechanical Built-on header is gone; routine selection reasons stay in the data only. * Typed Push stage and SDK names for sending; push failures as a plain list * Build log review: one explicit attempt per write, Builder named by the view, sending in the deploy log The walk passes each go's attempt; the skip-trail subquery and per-step overrides are gone. Section headings come from the go's Builder, not a heading row. The runner wait opens once, before dispatch. Sending an image is the deploy's: it reads in that Service's deploy log and a delivery failure no longer reddens the build. A failed check-in names its cause. * Build log review 2: moved Server go keeps its name, runner steps land with their report, sending tracked apart A servers not_started skip carries the Server the Engine chose, so its section still reads "Building on hel-1". A runner report files its steps in the same transaction as the guard that takes it, so one that loses to a move leaves nothing open in GitHub's section. The collector tracks the Service being sent on its own and never leaks it into later phases. --------- Co-authored-by: Codex <codex@codex-vm.tailcb9c5.ts.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Each Image Build's build log now tells the whole story as one timeline. Every Builder's go gets its own section, and a move to another Builder is one plain sentence built from the typed SkipReason. The header above the log is gone. The canvas node and the panel now say only "Built on ".
A GitHub build shows its push with progress for each layer:
Sending the image to Machines happens at deploy time, so it appears in that Service's deploy log: "Sending image to hel-2, hel-3", then "Image sent". A delivery failure fails the deploy, not the build.
Where each step is recorded, so its timing is honest:
skipReasonTextis now one plain sentence per reason, e.g. "No GitHub runner started within 3 min." It is also the failure message when no Builder is left.Evidence
(image, build, key), so a fallback'sstage:Buildingoverwrote GitHub's.After:
github-image-builds.postgres.test.tscovers every infrastructure move and checks:deployment-view.test(derived headings, "your servers"),preparation-progress.test(push lines, deploy-log sending),deployment-logs.test,build-order.inngest-engine.test, the Postgres runtime-persistence and inngest-engine tests, typecheck, lint, workspace clippy-D warnings, fmt. All pass locally; CI runs the rest.Merge Danger
Door: one-way once getployz/build's
v1moves; two-way until then.Rollout order:
v1.Rolling back Cloud after step 3 makes an older Cloud treat the runner's failed "Installing ployz" step as a failed build instead of moving on. Revert
v1first. The migration only adds a column that defaults to 0, and it can stay.Blast Radius: build-logs
dashboard/src/components/deployment-logs.tsx(main's time-zone clock and log skeleton), and both sides are kept.