Repository navigation
feat(train): mark merges, write a heartbeat and report the train health - #15
Merged
Merged
Conversation
The train comments a mark on every pull request it merges, so the report can count the pull requests merged around it, and writes a heartbeat line at most once an hour with its repositories, labelled pull requests and script version. The report counts the merges without the mark for the repositories of the shared train, and shows the age of the installed train's log and whether its script differs from the one in ci-shared main, which is how a train that cannot see its repository was missed for five hours after a repository transfer.
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
Tasks T19 and T20 of
specs/next-ci-reliability(contrast3d-platform), requirements FR13 and FR14,with the decisions taken with the owner (the train leaves a mark; alerts go to the log and the
weekly report only).
<!-- merge-train:merged -->on thepull request. A failing comment is logged (
mark failed) and never undoes or fails the merge. Thereport counts, for the repositories of
--config, the pull requests merged without the mark since--train-since: "Merged outside the train: X of Y" in the snapshot.heartbeat:line with the number of repositories, labelled pull requestsand the version (a fingerprint, equal for LF and CRLF copies) of the script, at most once an hour;
its state lives in
heartbeat.jsonbeside the configuration; a dry run does not write it.--train-diradds a "Merge train" section: age oftrain.log(silent after 90 minutes) and whether the installedautomerge.pydiffers fromtrain/automerge.pyofci-sharedmain.Verification
gh, written first (136 in total);ruffclean.contrast3d-bot: the report says 4 of 4 merges since 2026-10-14 wereoutside the train (true: the train is not installed yet) and that the train is not installed here.