Skip to content

Frontend tests no longer depend on the time of day; card test job timeout - #1257

Merged
tempus2016 merged 3 commits into
mainfrom
release/test-clock-ci-timeout
Nov 14, 2026
Merged

tempus2016 merged 3 commits into
mainfrom
release/test-clock-ci-timeout

Conversation

@tempus2016

Copy link
Copy Markdown
Owner

Makes the frontend test suite independent of the time of day, and stops a stuck test from holding CI for hours. No version bump.

The kid tour tests no longer hang before 08:00. They stamped a completion at 08:00 today. Before 08:00 that's in the future, so the child card's "available first" settle timer waited until 08:00 and the test file never exited. The fixture now falls back to a minute ago when the suite runs early.

The child card clamps a completion stamped ahead of the browser's clock. A completed_at in the future (server clock skew) now counts as made just now, so the settle timer that keeps a just-ticked row in place never runs longer than its eight-second window. New test: taskmate-child-card-settle-timer.test.cjs.

The setup wizard birthday tests use local dates. They built birthdays from toISOString(), the UTC date, which is a day off east of UTC late in the evening, while the panel reads a birthday as a local date.

The card test job has a 15 minute timeout. npm test takes about a minute; without a limit a hung test held the ESLint job for GitHub's six-hour default.

Checked locally: the full frontend suite (2467 tests) passes at 23:26, 04:27, 13:27 and 15:28 local time; lint, ruff and translation parity pass.

npm test takes about a minute. Without a limit a hung test held the job for GitHub's six-hour default.
The kid tour tests stamped a completion at 08:00 today, which before 08:00 is in the future, so the child card's settle timer waited until then and the test file never exited. The setup wizard tests built birthdays from the UTC date, a day off east of UTC late in the evening. The card now also treats a completion stamped ahead of the browser's clock as made just now, so its settle timer never runs longer than the settle window.
@github-actions github-actions Bot added ci CI, workflows, and tooling cards Lovelace cards / frontend (www/*.js) tests Test suite labels Nov 14, 2026
@tempus2016
tempus2016 merged commit 102bf23 into main Nov 14, 2026
18 checks passed
@tempus2016
tempus2016 deleted the release/test-clock-ci-timeout branch November 14, 2026 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cards Lovelace cards / frontend (www/*.js) ci CI, workflows, and tooling tests Test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant