Run smoke:pack in CI - #398
Draft
dannon wants to merge 1 commit into
Draft
Conversation
Every check in the build job runs against the pinned tree, which is exactly the tree no user has. galaxyproject#395 is what that costs: pi-mcp-adapter published an exports map, our lockfile stayed on the version before it, and typecheck, tests, and packaging all stayed green while `npm i -g @galaxyproject/loom` died on the first line of startup. smoke:pack is the one check that installs without the lockfile, and it caught that -- it just wasn't wired up to run anywhere. Note this step is deliberately not hermetic. It hits the network and can go red because a dependency published something broken rather than because the PR did. That's the job: a failure here means someone installing right now would hit the same thing.
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.
Independent of #396/#397 -- branches off main and can go in whenever.
Every check in the build job runs against the pinned tree, which is exactly the
tree no user has. #395 is what that costs: pi-mcp-adapter published an
exportsmap, our lockfile stayed on the version before it, and typecheck, tests, and
packaging all stayed green while
npm i -g @galaxyproject/loomdied on thefirst line of startup.
smoke:packis the one check that installs without thelockfile -- it caught that -- and it only ever ran from
prepublishOnly, whichis to say after the decision to ship.
This wires it into the build matrix, after the tests and before packaging.
One property worth agreeing to on purpose: this step is not hermetic. It
reaches the network and resolves runtime deps fresh, so it can go red because a
dependency published something broken rather than because the PR did. That is
the job. A failure here means someone running
npm i -gright now would hit thesame thing, and the right response is usually to look at what shipped upstream,
not to re-run the job.
It adds roughly 30s per matrix leg. Running it on all three OSes rather than
just ubuntu is deliberate -- #395 was a path resolution bug, and that's the
category most likely to behave differently on Windows.
Verified by running
npm run smoke:packlocally on the pi 0.83 branch, where itpacks, installs 504 packages without the lockfile, and boots
loom --help.