Skip to content

docs(changelog): record the F6 render_string_output single-pass rewrite #135

docs(changelog): record the F6 render_string_output single-pass rewrite

docs(changelog): record the F6 render_string_output single-pass rewrite #135

name: Build + Test
on: push
env:
CARGO_TERM_COLOR: always
jobs:
build-clippy:
name: Build and Clippy
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: cargo build --examples --benches
- run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- run: wasm-pack build --target web --out-dir pkg/wasm_guitar_tab_generator && ls -l pkg/wasm_guitar_tab_generator/guitar_tab_generator_bg.wasm
- name: Verify wasm-pack .d.ts public surface
shell: bash
run: |
# Snapshot only the public typed surface. Everything from `export type InitInput`
# onward is wasm-bindgen's loader/ABI boilerplate (the `__wbindgen_export*` symbols
# and init signatures), which churns between toolchain versions and is not
# consumer-facing, so it is stripped before diffing.
sed '/^export type InitInput/,$d' pkg/wasm_guitar_tab_generator/guitar_tab_generator.d.ts > generated.public.d.ts
diff -u tests/snapshots/wasm.d.ts generated.public.d.ts \
|| { echo "::error::Public .d.ts surface differs from tests/snapshots/wasm.d.ts. Regenerate locally with: sed '/^export type InitInput/,\$d' pkg/wasm_guitar_tab_generator/guitar_tab_generator.d.ts > tests/snapshots/wasm.d.ts && git commit"; exit 1; }
- run: cargo clippy --all-targets --all-features -- -D warnings
test:
name: Test
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: cargo test
benchmark:
name: Benchmark
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: cargo bench
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cargo fmt --all -- --check
msrv:
name: MSRV 1.86
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.86"
- run: cargo check --all-targets
wasm-test:
name: WASM boundary tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- run: wasm-pack test --node -- --test wasm_boundary