Repository navigation
MEC-82: Restore the deterministic non-browser test gate - #373
Open
mdgriffith wants to merge 2 commits into
Open
mdgriffith wants to merge 2 commits into
mdgriffith wants to merge 2 commits into
Conversation
added 2 commits
September 7, 2026 11:23
- Toolchain: standardize on Node 22 + Bun 1.4.2; add engines/packageManager to package.json; remove stale yarn.lock and pnpm-lock.yaml; add bun.lock; pin elm-review and puppeteer to exact resolved versions. - Stylesheet generation: refactor stylesheets/build.js around a single deterministic generate() function; add bun run stylesheet:check (non-mutating, validates tracked artifacts only, hard-fails on stale or missing files, flag overflow, and class-value collisions); keep bun run stylesheet as the explicit writer; update generated comments to reference bun. - Tests: replace Tests.elm test-local encoder replicas with direct tests of production Internal.BitField (known-value, isolation, clamping, clear, copy, boolean/flag, boundary, and percentage round-trip - 48 tests total); drop ClassNames.elm reference to textUnitalicized which is absent from Generated.elm. - CI: replace obsolete master/Node10/Sauce workflow with a secret-free deterministic gate on 2.0 using actions/checkout@v4, actions/setup-node@v4 (Node 22), oven-sh/setup-bun@v2 (Bun 1.4.2), frozen-lockfile install, bun run stylesheet:check, and bun run test. Browser infrastructure preserved.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restore the non-browser test gate for
2.0, replacing the obsolete Node 10/Sauce workflow with Node 22, Bun 1.4.2, a root Bun lockfile, and secret-free CI running artifact checks and tests. Existing browser and benchmark infrastructure is preserved.Replace test-local bitfield encoders with production
Internal.BitFieldtests. Class and flag tests consume generated references to all production definitions rather than handwritten inventories. Generation rejects class collisions, unsupported class definitions, invalid COPY markers, and flag overflow;stylesheet:checkdetects stale tracked artifacts, including the test inventories.bun run stylesheetremains the explicit artifact writer. README is unchanged as requested.Testing
bun install --frozen-lockfilepassed in the existing checkout.bun run stylesheetandbun run stylesheet:checkpassed.bun run test: 6 Node generator tests and 48 Elm tests passed.stylesheet:checkto exit 1 and name the stale artifact; restored metadata passes.git diff --checkpassed.Fresh-checkout installation and absence of ignored-workspace writes have not been established by these checks. The earlier unchanged
git diffcomparison covered tracked changes only.