openpencil/.github/workflows/wasm-bundle-check.yml
Kayshen-X d5011547f1 ci: remove TS/Electron workflows (build-electron / ci / docker / publish-cli)
Rust-ification 阶段,CI 只保留 Rust 相关:
- rust-check.yml: cargo fmt + build + test (with STEP1A_REQUIRE_GPU=1 on Linux) + clippy + cargo-deny
- wasm-bundle-check.yml: wasm32 target check

删除:
- build-electron.yml: Electron desktop build (Rust 化后用 openpencil-shell-native)
- ci.yml: TS type-check + Vitest + web build (Rust 化后已废)
- docker.yml: TS Docker image (Rust 化后重做)
- publish-cli.yml: npm packages (Rust 化后改 cargo publish)
2026-05-05 12:23:33 +08:00

51 lines
1.5 KiB
YAML

name: WASM bundle check (kickoff §1.2)
on:
pull_request:
paths:
- 'Cargo.toml'
- 'Cargo.lock'
- 'crates/**'
- 'deny.toml'
- '.github/workflows/wasm-bundle-check.yml'
push:
branches: [main, 'feat/rust-ification']
jobs:
wasm32-check:
name: cargo check --target wasm32-unknown-unknown
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.85"
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
with:
shared-key: wasm32-cache
- name: Forward — bucket A crates compile on wasm32
run: |
cargo check --target wasm32-unknown-unknown \
-p openpencil-shell-web --no-default-features --features web
cargo check --target wasm32-unknown-unknown \
-p pen-types -p pen-core -p pen-engine -p pen-codegen -p pen-figma
wasm32-deny:
name: cargo-deny --target wasm32-unknown-unknown check bans
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Reverse — blacklisted crates not in wasm bundle
uses: EmbarkStudios/cargo-deny-action@v2 # cargo-deny 0.18+ via the action (Phase 1 Task 1.8 finding)
with:
command: check bans
arguments: --target wasm32-unknown-unknown