Skip to content

Modernize WASM CI workflows and clean up wasm-qmd-parser#125

Draft
cderv wants to merge 14 commits intomainfrom
ci/wasm-workflow-and-cleanup
Draft

Modernize WASM CI workflows and clean up wasm-qmd-parser#125
cderv wants to merge 14 commits intomainfrom
ci/wasm-workflow-and-cleanup

Conversation

@cderv
Copy link
Copy Markdown
Member

@cderv cderv commented Apr 16, 2026

Workflow modernization

  • Replace dtolnay/rust-toolchain@nightly with rustup show active-toolchain
    (uses rust-toolchain.toml for consistent toolchain setup across workflows)
  • Use pre-built wasm-bindgen-cli via taiki-e/install-action instead of
    cargo install — faster and consistent with how nextest and cargo-insta
    are already installed
  • Extract wasm-bindgen version from Cargo.lock instead of hardcoding
  • Add wasm-bindgen-cli install to hub-client E2E workflow

wasm-qmd-parser cleanup

Mark wasm-qmd-parser as dormant (kept for future use as a lightweight
parsing-only WASM module):

  • Remove stale CI configs (.appveyor.yml, .travis.yml, dependabot)
  • Remove stale build artifacts (wasm-sysroot headers, c_shim, build.md)
  • Replace README with dormant status and context
  • Remove stale wasm-qmd-parser workspace dependency from root Cargo.toml

@cderv cderv marked this pull request as draft April 16, 2026 15:45
cderv added 13 commits April 16, 2026 16:46
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.
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.
@cderv cderv force-pushed the ci/wasm-workflow-and-cleanup branch from 239f28c to 4844143 Compare April 16, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant