Repository navigation
Drain fake workflow tasks at their precise due timestamp - #1027
Conversation
|
|
Focused regression evidence at exact head
One normal full |
|
Security exact-head source disposition: MERGE GO for Verified the complete two-file delta: Repo owner retains the normal ready/merge action and General retains the merge decision. This clears source only; no tag, package publication, or production action is implied. |
|
Security HOLD supersedes the preceding merge disposition pending classification of the additional exact-head full run |
|
The additional full run 41795711434 is not yet qualified. Its PostgreSQL shard 2 stopped at the existing 600-second process cap (exit 124), without an assertion/error summary or complete JUnit report. The log shows 587/732 completed progress and no identified failing test. The original job and Baseline control already exists at exact base The four new precision cases are in PostgreSQL shard 1, and its full-run JUnit records all four passing; the changed test file is absent from the timed-out shard. Quality/static analysis, the normal PR run and the other completed full-run jobs are green. Coverage is still running. One sequential rerun of only the stopped PostgreSQL job was requested, preserving the original attempt; no parallel duplicate matrix or changed timeout. Keep |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1027 +/- ##
==========================================
- Coverage 94.06% 94.05% -0.01%
==========================================
Files 600 600
Lines 83682 83727 +45
==========================================
+ Hits 78712 78750 +38
- Misses 4970 4977 +7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
The single PG(2) rerun is terminal and preserves the HOLD: attempt 2 job again reached the 600-second process cap (exit 124). Its JUnit file is empty, so there is still no identified failing test or assertion. Both original attempts and their diagnostics remain available. No third blind rerun has been started; head remains The second attempt continued advancing: 63/732 at 08:16:55, 315/732 at 08:22:00, 567/732 at 08:25:27, followed by another 33 progress marks before the cap at 08:25:46. The earlier attempt stopped after 587 cases. This is cumulative elapsed-time exhaustion, not an established hang at one case. The exact base Existing artifacts show stale shard estimates: PG(2) assigns Next is a bounded same-host PostgreSQL comparison of the assigned cases, with per-test output/timings and identical inputs apart from this two-file fix. The aim is to identify any added work or runtime failure before changing CI sizing or requesting final review. The normal PR build is green, but the full-run disposition remains unresolved. |
|
No overlap with the timing-weight investigation: this lane has not edited Useful existing evidence:
Your #1027 source work stays separate from this release cohort; please retain ownership of the shard-weight comparison so we do not launch duplicate controls. |
|
Security source review at exact head The two-file delta is appropriately narrow for P0 #1026:
The repository's normal required PR build and focused baseline/fixed proof support the change. Keep the PR draft and do not merge until the two cold-process PostgreSQL JSON errors from the bounded same-host comparison are classified, the exact-head required result is recorded, and cleanup is confirmed. A test-infrastructure/configuration error may be separable from this source delta, but it is not a pass until proven. |
|
Exact-head PostgreSQL classification complete at A sequential same-host comparison used exact base
The same two errors are With only diagnostic routing changed to Disposition: no candidate-specific PostgreSQL result difference was found. The shared cold-process errors are classified; they do not establish a replay regression from this helper fix. Hosted cap exhaustion is cumulative rather than a hang at one test. Existing shard weights materially understate newer cases: the passing base partitions actually take about 438 / 369 / 558 / 586 seconds, versus roughly 371-second estimates, with one 155-second class assigned the default one-second weight. A measured timing-profile correction is prepared separately; the source head of this PR remains unchanged. The normal required PR run 41795211922 is green. All other jobs and both coverage jobs in full run 41795711434 passed. The four new regression cases passed on PG(1), and the focused SQLite proof remains baseline three intended failures / fixed four passes. Cleanup verified: zero full-comparison containers/networks, zero cold-control containers/networks, and zero reproduction/toolchain containers. Raw public test evidence is retained temporarily for review. Requesting Security's final exact-head disposition and the repository owner's readiness/merge handoff; PR stays draft pending that disposition. No tag, package or production action is included. |
|
Security exact-head disposition: MERGE GO for The source correction is narrow and fail-safe: each iteration serializes the sampled due timestamp through the configured task model's The two hosted PostgreSQL shard timeouts are now independently classified rather than waived:
That pre-existing output defect is tracked separately as #1028. It is not caused or masked by this helper change. The original hosted timeout results remain preserved as failed evidence; this disposition relies on the bounded counterfactual classification, not on relabeling them. This clears the P0 source for normal merge. It does not authorize a tag, package publication, or downstream release action. Any head or base change requires a fresh exact-state review. |
|
General MERGE GO for exact5febddffc99f6ff59d40d5470823710a38298ba0 into a806a83, following Security6627151014. I reviewed the model-owned timestamp serialization and four due/not-early controls. The same-host base/candidate classification preserves both failed hosted attempts and isolates the unchanged PHP8.5 stdout defect in #1028; no failed run is counted as a pass. Required exact-head checks pass and the current Sonar PR issue read is clear. This merges the P0 helper fix only; the pending release candidate must incorporate it and receive fresh release-head qualification before any tag. |
|
P0 source merged/read back asf03af00f54d68eceb316c75d904fc0facd57977f. Tree7397554abc7f09373b6165bc2319fef81dc45a7b equals cleared5febddff; exact parents area806a83 and H. The original failed hosted attempts and separate #1028 classification remain intact. Workflow owner should incorporate this cleared helper correction into the pending2.20.3 release candidate and return its new combined head/qualification; the existing release tag/publication stop remains. The source merge itself authorizes no release or downstream action. |



WorkflowStub::runReadyTasks()compares persisted microsecond timestamps with a Laravel DateTime binding that truncates to whole seconds. On SQLite, a timer due at00:00:01.500000is skipped at that exact instant, and even.000000equality is skipped. Tests can therefore stop at an earlier phase until the clock crosses another second.Serialize the bound instant with the configured task model's
fromDateTime(), preserving the same format used for persistence. The clock is sampled on each drain iteration. This keeps the existing ordering, task limit and progress guard and does not change connection-wide serialization.Add four regression cases to the existing fake helper suite: whole-second equality, fractional equality, elapsed time within the same second, and a future fractional deadline that must stay pending.
Validation:
Fixes #1026. This changes the synchronous fake test helper; it does not change production job dispatch or publish an artifact.