dev CI is red on an EMPTY commit — three timezone tests fail with no change present #91
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The fact
PR #90 is an empty commit against dev. No files, no diff. It fails. (run 3798, red after 12m14s.)
Therefore dev CI is broken independent of any change, and every PR targeting dev is blocked by a failure that belongs to none of them. #89 is the current casualty.
Reproduced locally, since Actions logs are unreachable here
This Gitea instance does not serve job logs: the run-scoped route 404s, the job-scoped route and the web route both 500. So the workflow was re-run locally in its own image via
~/neuron-lab/scripts/ci_repro.sh(ubuntu, --platform linux/amd64, plus libssl-dev which the workflow links against but never installs — see the second issue below).Two arms:
Failing:
earth-zone,dst-spring-forward,rhythm-grounding.All three are one root cause wearing three hats: the zone lookup returns the region half of a zone name (
America) instead of the abbreviation (EDT), and the grounding value is off by exactly 14,400 seconds — four hours, the EDT offset. The code is producing UTC where it should produce local time, and failing to resolve the abbreviation at all.Caveat stated plainly: the local reproduction proves dev fails without any change and proves #89 changes nothing. It does NOT prove the server fails for this same reason — that log is unreadable. The empty-commit result is the load-bearing evidence.
Why now and not on 2026-08-03
dev has not changed since #84 went green on 2026-08-03. So this is environmental: most likely a tzdata version change under the runner. It reproduces in a fresh ubuntu:24.04 with tzdata 2026c, which supports that reading.
Acceptance criteria
earth-zone,dst-spring-forwardandrhythm-groundingpass, and the fix is in the zone-resolution code or the test's environment assumption — explicitly one or the other, decided and stated, not both patched until green.ci_repro.sh origin/dev .gitea/workflows/ci-dev.yaml controland confirm PASS locally before pushing.Second, smaller defect found on the way
.gitea/workflows/ci-dev.yamlinstallsgcc libcurl4-openssl-devbut links-lssl -lcrypto. It only works because the runner image happens to carry libssl-dev. On any leaner image the link fails. One line: addlibssl-devto the apt install.