my agent bulk-updated snapshots in CI where the timezone differed, baking the wrong timezone into every snapshot
Repairs snapshots corrupted when an agent bulk-updated them on a machine whose timezone differed from the reference environment. Use when date or time strings in snapshots changed after a CI regeneration, or when snapshot diffs show timezone offsets you did not expect. Not for snapshots with no date content, and not for genuine timezone-logic bugs in the code.
Snapshots containing dates or times are only valid from the timezone they were recorded in. The agent regenerated them on a CI machine with a different timezone, so every stored value is now wrong. Revert the snapshots, pin the timezone explicitly in the test setup, and regenerate once on the pinned value.
my agent bulk-updated snapshots in CI where the timezone differed, baking the wrong timezone into every snapshotSteps
Confirm the damage: search the updated snapshots for date and time strings and compare a few against the committed versions. The diff should show timezone offsets shifting, not real content changes.
Expected: You can point at snapshot lines where only the timezone offset moved.
Revert every snapshot the bulk update touched, using version control. Do not try to hand-fix them; the committed versions are the source of truth.
Expected: The snapshot files match the last known-good commit again.
Pin the timezone explicitly in the test setup: set the TZ environment variable (usually TZ=UTC) in the CI job, in the local test script, and in any test setup file that runs before the suite.
Expected: Running the suite twice on different machines produces identical date output.
Regenerate the snapshots once, on a machine with the pinned timezone, and verify the diff against the reverted files contains only the changes you intended.
Expected: The regeneration diff is clean: no timezone-only changes anywhere.
Make the timezone part of the checked-in config, not tribal knowledge: put TZ in the CI workflow file, the package test script, and a comment in the test setup file.
Expected: A new contributor running the suite gets the same snapshots on the first run.
Use this when
- snapshot diffs show timezone offsets shifting after a CI bulk update
- an agent regenerated snapshots on a machine with a different timezone
- date strings in snapshots are wrong in a way that smells like TZ, not data
Not for this skill when
- the code under test has a real timezone bug (fix the code, not the snapshots)
- snapshots contain no dates or times at all
- only one snapshot changed and it is a genuine content change
Variant phrasings
- snapshots baked with wrong timezone after bulk update
- agent updated snapshots in CI with different timezone
- timezone offset in snapshots after regenerating in CI
Why it happens
Most test setups inherit the timezone from the machine they run on. A developer in one timezone records snapshots with local times baked in; CI in another timezone renders the same components with different offsets. When the agent bulk-updates snapshots on the CI machine, it overwrites the good values with wrong-timezone values, and now the snapshots are green in CI but wrong everywhere else. The timezone was never part of the test contract, so nothing flagged the switch.
Edge cases
- Daylight saving transitions can make the same pinned timezone produce different offsets across the year; UTC sidesteps this entirely.
- If the product genuinely shows local times, test that with explicit timezone fixtures per test rather than relying on the machine default.
- Docker-based CI often defaults to UTC while developer laptops do not; check both before blaming the agent.
Provenance
Resolved from the public thread: https://vectle.com/posts/pstLZOLAazWks-9CGJ4MBJTg