Skip to content

CI green: a video defaults to WebM without MP4, and tests stop assuming one machine - #707

Merged
maboa merged 2 commits into
mainfrom
fix/706-ci-green
Sep 29, 2026
Merged

maboa merged 2 commits into
mainfrom
fix/706-ci-green

Conversation

@maboa

@maboa maboa commented Sep 29, 2026

Copy link
Copy Markdown
Member

CI (ubuntu-latest, Playwright's Chromium) has failed on every recent run. Its browser has no AAC or H.264 encoder, its fonts differ from macOS's, and it is slower. Eight tests assumed otherwise, and one failure was the app's.

The app

With no MP4 encoder, a video's export defaulted to the first format in the list, WAV. That drops the picture, and fails outright for a video with no sound: "output configuration is invalid … discarded tracks". A video now defaults to MP4, or to WebM where MP4 can't be encoded. This affects anyone on a Chromium build without proprietary codecs, not only CI.

The tests

Test Was Now
export-low-rate-audio (4) timed out waiting for an M4A download that can't happen skip, with the reason, where M4A isn't offered
export-to-recents — WAV to M4A expected m4a, got wav same skip
export-stale-media failed on the WAV default passes, via the app fix
external-projects — a stable host is not asked forever compared two counts 2 s apart while library writes were still arriving waits for the asking to stop, within 20 s
search-cramped — the cut-off asserted 1070px / 670px, which follow from one machine's fonts holds every width to the rule (128px of room), and each band to one cut-off
media-posters — portrait hover card (flaky) a late redraw removed the card hovers again if need be
transcript-notice — Save after a failed transcription (flaky) read saved.json before the intro's first commit landed waits for it

On macOS nothing skips, so coverage there is unchanged.

Checked

  • With AAC and H.264 encoding disabled locally, export-stale-media fails with CI's exact error without the app fix and passes with it; 25 export tests pass and the 5 AAC-dependent ones skip.
  • On macOS as normal: the changed specs pass, and the unit tests pass (189).
  • Fonts and speed can only be proven on the runner: this PR's own CI run is the test.

Fixes #706

…ng one machine

CI (Chromium on Linux) has failed on every run. Its browser has no AAC or
H.264 encoder, its fonts differ, and it is slower; eight tests assumed
otherwise, and one failure was the app's.

The app: with no MP4 encoder a video's export defaulted to the first
format, WAV, which drops the picture and fails outright for a video with
no sound ("output configuration is invalid … discarded tracks"). It now
defaults to MP4, or WebM where MP4 cannot be encoded.

The tests:
- export-low-rate-audio (4) and export-to-recents' WAV-to-M4A test need
  an AAC encoder; they skip, saying so, where M4A is not offered.
- external-projects: "a stable host is not asked forever" compared two
  counts two seconds apart, while a slow machine still had library writes
  to come. It now waits for the asking to stop, within twenty seconds.
- search-cramped: the cut-off was asserted at 1070px and 670px, widths
  that follow from one machine's fonts. Every width is now held to the
  rule itself, 128px of room, and each band to a single cut-off.
- media-posters hovers again when a late redraw removes the card, and
  transcript-notice waits for the intro's first commit to land.

Fixes #706
"The Open it button opens the added project" read the current project's
entry as soon as the transcript changed, a moment before the session
points at the new project; on CI a read in between found no entry. Flaky
there (passed on retry), so polled.

Refs #706
@maboa
maboa merged commit 1b77941 into main Sep 29, 2026
1 check passed
@maboa maboa mentioned this pull request Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI is red on every run: export tests can't encode on the runner, and three tests are timing-sensitive

1 participant