Exclude WASM artifacts from GitHub releases#23221
Conversation
|
To confirm my investigation from the issue: these artifacts were added by #22476 and only included in the last 3 releases (0.14.13+). Based on the description of that PR, I don't think these were intentionally added as release artifacts, so removing seems appropriate. As an aside, some other release artifacts (e.g., |
ntBre
left a comment
There was a problem hiding this comment.
Thank you, I think this makes sense to me. It probably wouldn't hurt to get a quick look from @woodruffw too, though.
For reference, here's the relevant part of release.yml:
ruff/.github/workflows/release.yml
Lines 146 to 152 in 6ded4be
woodruffw
left a comment
There was a problem hiding this comment.
Makes sense to me!
It might be nice to have a small comment explaining the artifact name so we don't reintroduce a clobber here, but not major either way.
Summary
Fixes #23127.
The
release.ymlworkflow downloads artifacts usingpattern: artifacts-*withmerge-multiple: true. The three WASM build targets (web, bundler, nodejs) were uploaded asartifacts-wasm-{target}, matching that glob. Since all threecontain identically-named files, they silently overwrote each other during the
merge, making the released WASM assets non-deterministic.
Renaming the artifacts from
artifacts-wasm-*towasm-npm-*excludes them from theartifacts-*glob inrelease.yml. Notably, the npm publish workflow is unaffected (it downloads each target by exact artifactname and was never subject to the merge conflict).
Test Plan
N/A :p
Happy to investigate a test publish on my fork if anyone feels strongly about this. However, npm does not appear to have a test registry like PyPI -- and in any event testing seemed a bit involved -- so I didn't rush to investigate this before review.