feat(reconcile): walk Proton once the last walk is a week old - #13
Merged
Merged
Conversation
The Proton walk ran on the first run of a configured UTC weekday, tying it to when a run is dispatched, and a walk left partial waited for the next such day. lib v2.2.0's toolbox now decides: `due` leaves .run/reconcile once the last complete walk, at .state/reconciled, is RECONCILE_HOURS old, and this mirror sets 168. The run row takes the flag; a complete walk leaves .run/walked, and record-walk then runs the toolbox's `reconciled`, so a partial walk stays due and the next run resumes it. pull and push over the image's s3 are what due and reconciled keep the key through. reconcile.weekday, the RECONCILE environment variable and is_reconcile_run are gone.
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.
Why
The Proton walk ran on the first run of a configured UTC weekday, which ties it to when a run is dispatched. A walk left partial also waited for a later day's first run. lib v2.2.0 (katoptra/lib#12) moves the decision into the toolbox's
due, keyed on the age of the last reconcile.What
dueruns afterclockinpipelineand inplan-pipeline.RECONCILE_HOURS: 168keeps the walk weekly.pullandpushover the image'ss3are whatdueandreconciledkeep.state/reconciledthrough, as plain text.record-walkruns the toolbox'sreconciledonly when.run/walkedexists. Its status gate letsrender.txtshow the write.reconcileis whether.run/reconcileexists.p60, the walk phase, touches.run/walkedafter a complete walk, so a partial walk stays due and the next run resumes it.clockclears a stalewalked.reconcile.weekday, theRECONCILEenvironment variable andis_reconcile_runare gone. A leftover[reconcile]table is now an unknown table, and the config refuses it.This merges only after lib v2.2.0, which is already released: the pipeline calls
due, and earlier releases do not have it.Test plan
task test: 160 passed. New:staterecords the toolbox's flag; a complete walk leaveswalkedand a partial one does not;clockclearswalked.task lintrender.txtrendered against lib v2.2.0. Thecheckjob re-renders it.