feat(release): publish sysml-wasm as release assets and an npm package - #875
Merged
Merged
Conversation
Co-Authored-By: jason.han <hanhuijun@gmail.com>
Co-Authored-By: jason.han <hanhuijun@gmail.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
6 tasks done
…o feature/wasm-release-assets
…o feature/wasm-release-assets
…WASM assets Co-Authored-By: jason.han <hanhuijun@gmail.com>
Co-Authored-By: jason.han <hanhuijun@gmail.com>
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.
What and why
Publishes the combined
sysml-wasmmodule, so callers ofconnectWasm()no longer have to build it from source.Stacked: this PR is based on #872 (#870 is already on
develop). Merge #872 first. I'll then retarget this PR todevelop.make build-release-wasmtarget buildsbin/wasm/release/sysml-wasm.wasm(js/wasm,-trimpath, release ldflags) and copieswasm_exec.jsfrom the same Go toolchain.build-release-binariesbuilds the module intodist/wasm/and checks that it carries the tag.build-releaseadds both files toSHA256SUMS.txt, writes their.sha256sidecars, and addswasm/sysml-wasm.wasmto the provenance check. The cosign signature and the SLSA provenance therefore cover both files.publish-github-releaseuploads both files and their sidecars.scripts/build-release-artifacts.shbuilds the same files, adds them to the manifest and writes the sidecars, andnightly.ymluploads them. The nightly manifest is still cosign-signed. Nightly snapshots still have no SLSA provenance, and the docs say so.build-platform-packages.mjs --wasm <dir>also builds@openmbee/opensysml-wasm, which containssysml-wasm.wasm,wasm_exec.jsand a README. Each file is checked against its sidecar.publish-npmpublishes it with the platform packages, before the client, and now expects seven packages.check_version.pyhint mentions the peer.connectWasm()with nowasmoption resolves the module and runtime from the installed@openmbee/opensysml-wasm. If the package is missing, the error names the package and version to install. PassingwasmwithoutwasmExecis now an error, because a runtime from a different toolchain can't be guessed.new URL("@openmbee/opensysml-wasm/sysml-wasm.wasm", import.meta.url)) and the jsDelivr URLs.docs/reference/wasm.mdno longer says that no WebAssembly artifact ships.docs/project/releasing.mdcovers the assets and the seven npm packages.docs/project/nightly.mdlists the new assets.client/node/README.mdcovers Node installation and automatic resolution, plus the browser bundler and CDN forms.How it was verified
client/node: build, typecheck, lint and test all pass (389 passed, 0 skipped, before feat(node): connect the client to the combined sysml-wasm module #872's later review fixes were merged in). New tests cover:client/python:tests/test_check_version.pypasses (80 tests).VERSION=v0.0.0-test scripts/build-release-artifacts.shran end to end.dist/wasmholds both files and their sidecars,SHA256SUMS.txtlists them, andsha256sum -cpasses.connectWasm()with no options evaluated2 + 2to4.make docs-checkand the changelog check pass.Checklist
make testandmake lintpass locally (client and release-script gates run; full Go suite left to CI)changes/unreleased/<slug>.<section>.md, not as an edit toCHANGELOG.mdmake docs-countsrun if a gate count moved (no gate count moved)F4,K5) in the body, docs, or changelog