Skip to content

feature/implement lexer - part 2 #23

feature/implement lexer - part 2

feature/implement lexer - part 2 #23

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
WASM_PACK_VERSION: "0.13.1"
jobs:
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain-file: rust-toolchain.toml
- run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
needs: [fmt]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain-file: rust-toolchain.toml
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --locked --all-targets --all-features -- -D warnings
test-native:
name: Test (Native)
runs-on: ubuntu-latest
needs: [fmt]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain-file: rust-toolchain.toml
- uses: Swatinem/rust-cache@v2
- run: cargo test --locked --verbose
test-wasm:
name: Test (WASM)
runs-on: ubuntu-latest
needs: [fmt]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain-file: rust-toolchain.toml
- uses: Swatinem/rust-cache@v2
- run: cargo install wasm-pack --version ${{ env.WASM_PACK_VERSION }} --locked
- run: wasm-pack test --node
build-wasm:
name: Build (WASM)
runs-on: ubuntu-latest
needs: [clippy, test-native, test-wasm]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain-file: rust-toolchain.toml
- uses: Swatinem/rust-cache@v2
with:
cache-all-crates: true
- run: cargo install wasm-pack --version ${{ env.WASM_PACK_VERSION }} --locked
- run: wasm-pack build --target web --release
- uses: actions/upload-artifact@v4
with:
name: wasm-pkg
path: pkg/
retention-days: 7