Skip to content

Fix master CI: apt-get update, webpack 5.110 sideEffects regression, jest teardown race - #489

Merged
rom1504 merged 3 commits into
PrismarineJS:masterfrom
u9g:fix-build-apt-update
Sep 4, 2026
Merged

Fix master CI: apt-get update, webpack 5.110 sideEffects regression, jest teardown race#489
rom1504 merged 3 commits into
PrismarineJS:masterfrom
u9g:fix-build-apt-update

Conversation

@u9g

@u9g u9g commented Sep 2, 2026

Copy link
Copy Markdown
Member

Master CI currently fails on every PR for three stacked environmental reasons; this bundles the three small fixes (all previously validated on the green #484 run):

  1. apt 404s — the build jobs install from the runner image's stale package index (no apt-get update, unlike Lint), so rotated .deb versions 404 before npm install runs. Fix: sudo apt-get update && first.
  2. THREE.OrbitControls is not a constructor — fresh installs pull webpack 5.110.x, which now honors three@0.128.0's incorrect sideEffects: false and drops the bare require('three/examples/js/controls/OrbitControls') from the bundle, blanking every render. Fix: a sideEffects: true module rule for three/examples/js in the index config.
  3. jest killed at teardown — the console handler's arg.getProperty('message') rejects if the browser closes mid-await; on Node 24 the unhandled rejection kills jest before it reports results. Fix: catch the rejection.

Verified end to end on the #484 run equivalents; with only fix 1 the jobs get past install and fail on 2/3, e.g. build (1.18.1) here.

u9g added 3 commits September 2, 2026 00:39
The build jobs install from the runner image's stale package index, so
once security.ubuntu.com rotates a .deb version the fetch 404s and all
16 jobs fail before npm install. The Lint job already updates first.
three@0.128 declares sideEffects: false, but examples/js scripts attach to
the THREE global; webpack 5.110 started trusting the declaration and dropped
the OrbitControls require from the bundle.
If the browser closes while a console handler is still awaiting
getProperty, the rejection is unhandled and fatal on Node 24, killing
jest before it can report the test result.
@u9g u9g changed the title Run apt-get update before installing build deps in CI Fix master CI: apt-get update, webpack 5.110 sideEffects regression, jest teardown race Sep 2, 2026
@u9g u9g mentioned this pull request Sep 3, 2026
@rom1504
rom1504 merged commit ccdcb80 into PrismarineJS:master Sep 4, 2026
21 checks passed
@u9g
u9g deleted the fix-build-apt-update branch September 4, 2026 11:11
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.

2 participants