Skip to content

Set up WASI CI

Set up WASI CI #381

Workflow file for this run

name: CI
on:
push:
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.continue-on-error || false }}
strategy:
matrix:
name:
- stable
- beta
- nightly
- "feat: no default features"
- "feat: all features"
include:
- name: beta
rust: beta
- name: nightly
rust: nightly
continue-on-error: true
- name: "feat: all features"
features: "--all-features"
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust || 'stable' }}
- name: Build
run: cargo build --verbose ${{ matrix.features }}
- name: Run tests
run: cargo test --verbose ${{ matrix.features }} -- --test-threads=1
pdfutil:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
- name: Build
run: cargo build --verbose --manifest-path pdfutil/Cargo.toml
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
- name: clippy for lopdf
run: cargo clippy
- name: clippy for pdfutil
run: cargo clippy --manifest-path pdfutil/Cargo.toml
wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- run: cargo test
- run: RUSTFLAGS='--cfg getrandom_backend="wasm_js"' wasm-pack test --headless --chrome --features wasm_js
- run: RUSTFLAGS='--cfg getrandom_backend="wasm_js"' wasm-pack test --headless --firefox --features wasm_js
wasi:
runs-on: ubuntu-latest
strategy:
matrix:
target: [wasm32-wasip1, wasm32-wasip2]
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
with:
targets: ${{ matrix.target }}
- name: Build
run: cargo build --verbose --target ${{ matrix.target }}