buildstep: a build module ends the steps a previous process left running, and a step says what it is (issue 1890) #90

Merged
mesh-tools merged 5 commits from fix/1890-left-running-steps into main 2026-10-26 12:57:32 +00:00
Member

Issue 1890 (the checker lists build steps started days ago as still running). Delivery group fix/1890-left-running-steps with mesh-catalog (the three build modules pin this head).

  • go/buildstep/stale.go: EndStale ends this node's running step keys a previous process left: hand-started tool steps at once ("the build module restarted while it ran"); a pulled ask only once its start is older than delivery.StepBound ("past the step bound: its asker stopped waiting at ..."), so an ask the stream will run again is never failed under its asker. Writes are compare-and-set (Scan carries the revision; a changed key is skipped). It runs at start and in each module's existing round (EndStaleRound), no new timer. EndOne (the build_<lang>_step_end tool) ends one step by hand, refusing a step this process started (Boot), another node's step, a changed key and an empty why.
  • delivery.Step gains optional what (omitempty; old bytes unchanged), filled from AskWhat (check ask, delivery ask, compose).
  • delivery.StepBound (30 minutes): the one constant the other copies (builder, checker, watchman) should read, issue 1916.

Tests: TestEndStaleAndEndOne (ask under/over the bound, the race, a step after boot, another node's key) and AskWhat rows. Unit suites and go vet -tags integration ./... clean.

Rule bent (rules-are-weighed): this head has no try. The try of the first head passed (try-1793017837216790185); the reworked heads could not get a try place for 30 minutes (one place is held by a try stranded at the 13:26 bus reload, issue 734). The group's merge check is the gate.

Reviewed-by: review-1890@shanks at 6b84973142

Issue 1890 (the checker lists build steps started days ago as still running). Delivery group fix/1890-left-running-steps with mesh-catalog (the three build modules pin this head). - `go/buildstep/stale.go`: `EndStale` ends this node's running step keys a previous process left: hand-started tool steps at once ("the build module restarted while it ran"); a pulled ask only once its start is older than `delivery.StepBound` ("past the step bound: its asker stopped waiting at ..."), so an ask the stream will run again is never failed under its asker. Writes are compare-and-set (`Scan` carries the revision; a changed key is skipped). It runs at start and in each module's existing round (`EndStaleRound`), no new timer. `EndOne` (the `build_<lang>_step_end` tool) ends one step by hand, refusing a step this process started (`Boot`), another node's step, a changed key and an empty why. - `delivery.Step` gains optional `what` (omitempty; old bytes unchanged), filled from `AskWhat` (check ask, delivery ask, compose). - `delivery.StepBound` (30 minutes): the one constant the other copies (builder, checker, watchman) should read, issue 1916. Tests: `TestEndStaleAndEndOne` (ask under/over the bound, the race, a step after boot, another node's key) and AskWhat rows. Unit suites and `go vet -tags integration ./...` clean. Rule bent (rules-are-weighed): this head has no try. The try of the first head passed (try-1793017837216790185); the reworked heads could not get a try place for 30 minutes (one place is held by a try stranded at the 13:26 bus reload, issue 734). The group's merge check is the gate. Reviewed-by: review-1890@shanks at 6b8497314297b83d8db8249591b5bf8b32ecb930
mesh-tools added 5 commits 2026-10-26 12:54:15 +00:00
Author
Member

Delivery novox/mesh-sdk@6b8497314297 — merged since 2026-10-26T12:57:34Z

Source — source.main moved to novox/mesh-sdk@2aae6f5580. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/1890-left-running-steps: novox/mesh-catalog@0134697f97, novox/mesh-sdk@6b84973142

Transitions

  • 2026-10-26 12:54 (new) → proposed (announced): novox/mesh-sdk#90's head announced
  • 2026-10-26 12:54 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-10-26 12:57 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-sdk@6b8497314297` — **merged** since 2026-10-26T12:57:34Z **Source** — source.main moved to novox/mesh-sdk@2aae6f5580f2. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1890-left-running-steps`: novox/mesh-catalog@0134697f9739, novox/mesh-sdk@6b8497314297 **Transitions** - 2026-10-26 12:54 (new) → proposed (announced): novox/mesh-sdk#90's head announced - 2026-10-26 12:54 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-10-26 12:57 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit 2aae6f5580 into main 2026-10-26 12:57:32 +00:00
mesh-tools deleted branch fix/1890-left-running-steps 2026-10-26 12:57:32 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#90