fix: stabilize two CI test failures (Paris today, worker cancel race) #307

Closed
nessar wants to merge 3 commits from feature/ci-test-stability into develop
pull from: feature/ci-test-stability
Owner
No description provided.
nessar added 2 commits 2026-10-19 09:52:24 +02:00
The calendar highlighted today from the browser's local date while the
default planning horizon starts on the Europe/Paris date, so the two
disagreed for a few hours a day (and always, for users in another time
zone). The horizon's first day was then not marked as today. This also
failed the CI test run in UTC containers between 22:00 and 24:00 UTC.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
test(planning): hold the worker until the preparation cancel arrives
CI / policy (push) Successful in 16s
CI / validate (push) Successful in 29s
CI / build (push) Successful in 20s
CI / benchmark (push) Successful in 1m27s
CI / security (push) Successful in 1m0s
CI / test (push) Successful in 1m57s
CI / images (push) Successful in 1m20s
CI / required (push) Successful in 1s
CI / policy (pull_request) Successful in 8s
CI / validate (pull_request) Successful in 23s
CI / test (pull_request) Successful in 1m51s
CI / build (pull_request) Successful in 38s
CI / security (pull_request) Successful in 1m1s
CI / benchmark (pull_request) Successful in 46s
CI / images (pull_request) Successful in 51s
CI / required (pull_request) Successful in 2s
af20c96f01
The worker reads its queue only between event-loop turns, so the
calendar preparation could finish before the cancel sent on its second
progress update arrived, and the test received a complete plan. Use the
real-worker harness hold already applied to the checkpoint cancellation
test, and cancel on the first preparation update so the hold is released.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
nessar added 1 commit 2026-10-19 10:21:55 +02:00
test(calendar): pin the clock for the Paris today marker
CI / policy (push) Successful in 26s
CI / validate (push) Successful in 28s
CI / build (push) Successful in 23s
CI / benchmark (push) Successful in 1m26s
CI / security (push) Successful in 1m14s
CI / test (push) Successful in 1m58s
CI / images (push) Successful in 57s
CI / required (push) Successful in 3s
CI / policy (pull_request) Failing after 10s
CI / validate (pull_request) Successful in 26s
CI / build (pull_request) Successful in 21s
CI / benchmark (pull_request) Successful in 1m0s
CI / security (pull_request) Successful in 58s
CI / test (pull_request) Successful in 1m52s
CI / images (pull_request) Skipped
CI / required (pull_request) Failing after 1s
036b13613c
The test of the today marker read the wall clock, so it only exercised
the Paris/local date mismatch between 22:00 and 24:00 UTC and passed
with or without the fix the rest of the day. Pin the clock to 22:16 UTC,
already the next day in Paris, so a UTC runner fails without the fix at
any time.

Refs #301

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Owner

Closing without merging: #301 will be done properly. The findings were moved to the tickets:

  • the Paris "today" marker and the pinned-clock test: #301
  • the worker cancellation race and the benchmark gate noise: #293

The branch feature/ci-test-stability is kept for reference (f458a83 the Paris fix, af20c96 the worker cancellation test, 036b136 the pinned-clock test). The benchmark calibration change was independent and went in separately as #308. #304 and #305 can still hit the two test failures until those fixes land in develop some other way.

Closing without merging: #301 will be done properly. The findings were moved to the tickets: - the Paris "today" marker and the pinned-clock test: [#301](https://gitea.nessar.fr/nessar/vac-optimizer/issues/301#issuecomment-5448) - the worker cancellation race and the benchmark gate noise: [#293](https://gitea.nessar.fr/nessar/vac-optimizer/issues/293#issuecomment-5453) The branch `feature/ci-test-stability` is kept for reference (f458a83 the Paris fix, af20c96 the worker cancellation test, 036b136 the pinned-clock test). The benchmark calibration change was independent and went in separately as #308. #304 and #305 can still hit the two test failures until those fixes land in `develop` some other way.
nessar closed this pull request 2026-10-19 10:29:08 +02:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.