on: [push, pull_request]
name: CI
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- run: rustup component add rustfmt
- name: check rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: -- --check --color always
- run: rustup component add clippy
- name: check clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets -- -D warnings
build_and_test:
name: Test
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: cargo fetch
uses: actions-rs/cargo@v1
with:
command: fetch
- name: cargo test build
uses: actions-rs/cargo@v1
with:
command: build
args: --tests
- name: cargo test
uses: actions-rs/cargo@v1
with:
command: test
build_redox:
name: Build (redox)
runs-on: ubuntu-latest
container: redoxos/redoxer
steps:
- uses: actions/checkout@v1
- name: redoxer build
run: redoxer build
build_web:
runs-on: ubuntu-latest
steps:
- uses: hecrj/setup-rust-action@v1
with:
rust-version: stable
targets: wasm32-unknown-unknown
- uses: actions/checkout@master
- name: web build
run: cargo build --target wasm32-unknown-unknown