Modernize WASM CI workflows and clean up wasm-qmd-parser#125
Draft
Modernize WASM CI workflows and clean up wasm-qmd-parser#125
Conversation
rust-toolchain.toml already specifies the full toolchain configuration (nightly channel, components, targets). The dtolnay/rust-toolchain action was a redundant wrapper — rustup reads rust-toolchain.toml natively. Replace with `rustup show active-toolchain` which triggers auto-install from rust-toolchain.toml and displays the resolved toolchain. One fewer third-party action dependency across all CI workflows.
Removing wasm-pack (commit 1) left the E2E workflow without wasm-bindgen-cli, which build-wasm.js requires. Extract the version from Cargo.lock to stay in sync automatically. Also fix xtask.md: dev_setup.rs hardcodes the version rather than reading it from Cargo.lock as the doc previously claimed.
Use head -1 for safety in case of multiple entries. Also fix ts-test-suite.yml which still hardcoded version 0.2.108.
The wasm-qmd-parser crate was superseded by wasm-quarto-hub-client but never cleaned up. Remove it along with its dedicated build-wasm.yml workflow and wasm-pack install steps in hub-client-e2e.yml. Update READMEs and CLAUDE.md to remove stale references.
This reverts commit c078792.
Keep the crate skeleton (Cargo.toml, src/, tests/, licenses) for future VS Code extension use. Remove superseded files: old CI configs (travis, appveyor), C shim (now in wasm-c-shim), wasm-sysroot headers, wasm-pack demo artifacts, and the standalone build-wasm.yml workflow. Also fix restored wasm-pack references in Cargo.toml, hub-client README, and wasm-quarto-hub-client README.
The old README was the wasm-pack template boilerplate. Replace with project-specific documentation noting the crate is dormant and kept for future use as a lightweight parsing-only WASM module.
Update CLAUDE.md workspace structure to list both WASM crates with correct descriptions, fix hub-client description to reference wasm-quarto-hub-client. Add dormant section to dev-docs/wasm.md.
The c_shim.rs file was deleted in the cleanup but lib.rs still had a `pub mod c_shim` declaration gated on wasm32. Replace with a comment pointing to the shared wasm-c-shim crate.
Remove unused [workspace.dependencies.wasm-qmd-parser] entry from Cargo.toml — no crate references it and the crate is excluded from the workspace. Add DORMANT notice to lib.rs header so readers know the crate doesn't build without checking the README.
Replace `cargo install wasm-bindgen-cli --locked` with pre-built binaries from the wasm-bindgen GitHub releases. The --locked flag pinned walrus to v0.24.4 which has an externref/i32 type mismatch with current Rust nightly. Pre-built binaries avoid transitive dependency issues entirely and are faster.
- dev-docs/wasm.md: remove "Native vs WASM Testing" section that references .claude/rules/wasm.md (belongs in the cfg-fix PR) - wasm-qmd-parser README and lib.rs: fix reference to non-existent wasm-c-shim crate (c_shim lives in wasm-quarto-hub-client) - xtask.md: fix dev-setup description (wasm-bindgen-cli, not wasm-pack)
cargo dev-setup handles version pinning to match Cargo.lock.
239f28c to
4844143
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.
Workflow modernization
dtolnay/rust-toolchain@nightlywithrustup show active-toolchain(uses
rust-toolchain.tomlfor consistent toolchain setup across workflows)wasm-bindgen-cliviataiki-e/install-actioninstead ofcargo install— faster and consistent with how nextest and cargo-instaare already installed
Cargo.lockinstead of hardcodingwasm-bindgen-cliinstall to hub-client E2E workflowwasm-qmd-parser cleanup
Mark
wasm-qmd-parseras dormant (kept for future use as a lightweightparsing-only WASM module):
wasm-qmd-parserworkspace dependency from root Cargo.toml