ci(e2e): 823 — smoke-test the packed workspace, not whatever is on the registry - #103
Open
randomdevpete wants to merge 2 commits into
Conversation
resolvedAtom was removed by 675 in favour of asyncRouteAtom(...).data; followResolvedRedirects became followAsyncRedirects. 789 suffixed every route atom with Route: rootAtom/createRootAtom split into the bare instance rootRoute and its factory rootRouteAtom, and redirectAtom, queryParamAtom and validateAtom each gained the suffix. Update every reference in the smoke consumer (routes, App, the vitest suite, and both entrypoint smoke scripts) to match. Ticket: 823
registry-smoke installed jarl-atoms/jarl-react from the npm registry at `latest`, on a job wired to workflow_dispatch only. That tests the published package, which was the point, but it meant a source rename here couldn't fail until the next release republished it — and it would fail in a job nobody watches by default. This is exactly the gap that let 675 and 789 drift unnoticed until this ticket. Of the three ways to close it (track renames in lockstep, pin to an explicit version so the mismatch is legible, or run on PRs against a local build), this takes the third: pack-local.mjs packs jarl-atoms/ jarl-react from the working tree, the same way cjs-nodenext/ already does for its own narrower check, and installs the tarballs as a real `file:` dependency in place of `latest`. The registry-smoke CI job now runs unconditionally alongside build-and-test instead of gating on workflow_dispatch, so drift surfaces on the PR that introduces it. Traded away: this no longer proves the currently-published npm tarball works end-to-end (a botched `npm publish`, a stale `files`/ `exports` entry only a real publish would expose). What it buys back is catching everything short of the publish step itself, on every PR rather than after a release ships broken — recorded in e2e/registry-smoke/README.md, "Tracking source renames", along with how to point it at a real published version instead. Ticket: 823
randomdevpete
force-pushed
the
task-823-registry-smoke-references-removed-exports
branch
from
August 21, 2026 13:43
70d2472 to
7bdd115
Compare
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
registry-smokenow packsjarl-atomsandjarl-reactfrom this branch's build and tests against those locally-packed tarballs, rather than installing from the npm registry atlatest. This catches export renames and missing exports the moment they're introduced, on every PR, instead of silently failing after a release ships broken.What this trades away: no longer proves the currently-published npm tarball works end-to-end — a botched
npm publishor stalefiles/exportsentry that only a real publish would expose can't be caught this way.What it buys back: runs on every PR with locally-packed artifacts that use the same
files/main/exports/typesconfig anddist/a release would ship, catching everything short of the publish step itself.Approach
e2e/registry-smoke/to track the renames in 675 and 789. Grep-clean: no staleresolvedAtom,rootAtom,redirectAtom,queryParamAtom, orvalidateAtom.e2e/registry-smoke/pack-local.mjs(mirroringcjs-nodenext/pack-local.mjs), switched dependencies tofile:./tarballs/*.tgz, made the CI job run unconditionally.Dependency
Carries the full stack: 675 and 789 are already stacked below this PR.
See
e2e/registry-smoke/README.md"Tracking source renames (ticket 823)" for full docs.