Merge pull request #11 from dib-lab/add-citation #54
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rust checks | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v1 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run cargo check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
build: [macos, windows] | |
include: | |
- build: macos | |
os: macos-latest | |
continue: false | |
- build: windows | |
os: windows-latest | |
continue: true ## TODO: remove this when tests work... | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Run tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-fail-fast | |
continue-on-error: ${{ matrix.continue }} ## TODO: remove this when tests work... | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Run tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-fail-fast | |
env: | |
'CARGO_INCREMENTAL': '0' | |
'RUSTFLAGS': '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Zno-landing-pads -Clink-arg=-fuse-ld=gold' | |
- name: Collect coverage and generate report with grcov | |
uses: actions-rs/grcov@v0.1.4 | |
id: coverage | |
- name: Upload coverage to codecov | |
uses: codecov/codecov-action@v1.0.3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ${{ steps.coverage.outputs.report }} | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v1 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings | |
wasm-pack: | |
name: Check if wasm-pack builds a valid package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: wasm32-unknown-unknown | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --force wasm-pack | |
- name: run wasm-pack | |
run: wasm-pack build | |
continue-on-error: true ## TODO: remove this when tests work... | |
wasm32-wasi: | |
name: Run tests under wasm32-wasi | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- name: Install wasm32-wasi target | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: wasm32-wasi | |
- name: Install wasmtime | |
run: "curl https://wasmtime.dev/install.sh -sSf | bash" | |
- name: Add wasmtime to PATH | |
run: echo "::add-path::$HOME/.wasmtime/bin" | |
- name: Install cargo-wasi command | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --force cargo-wasi | |
- name: Build code with cargo-wasi | |
uses: actions-rs/cargo@v1 | |
continue-on-error: true ## TODO: remove this when compilation works... | |
with: | |
command: wasi | |
args: build | |
- name: Run tests under wasm32-wasi | |
uses: actions-rs/cargo@v1 | |
continue-on-error: true ## TODO: remove this when tests work... | |
with: | |
command: wasi | |
args: test |