quicksilver 0.4.0

A simple game framework for 2D games in pure Rust
Documentation
name: Integration
on:
  pull_request:
    paths:
      - 'src/**.rs'
      - 'Cargo.toml'
      - '.github/workflows/integration.yml'
jobs:
  formatting:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: hecrj/setup-rust-action@v1
      with:
        rust-version: stable
        components: rustfmt
    - name: Check Formatting
      run: cargo fmt --all -- --check

  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
        rust: [stable, nightly]
    steps:
    - uses: hecrj/setup-rust-action@v1.2.0
      with:
        rust-version: ${{ matrix.rust }}
    - uses: actions/checkout@master
    - name: Install libudev
      if: matrix.os == 'ubuntu-latest'
      run: sudo apt update && sudo apt install libudev-dev
    - name: Test examples
      run: cargo test ${{ matrix.options }} --all

  clippy:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
        rust: [stable]
    runs-on: ${{ matrix.os }}
    steps:
    - uses: hecrj/setup-rust-action@v1.2.0
      with:
        rust-version: ${{ matrix.rust }}
        components: clippy
    - uses: actions/checkout@master
    - name: Install libudev
      if: matrix.os == 'ubuntu-latest'
      run: sudo apt update && sudo apt install libudev-dev
    - name: Clippy
      run: cargo clippy -- -D warnings
    - name: Featureless clipppy
      run: cargo clippy --no-default-features -- -D warnings

  clippy-web:
    runs-on: macOS-latest
    steps:
    - uses: hecrj/setup-rust-action@v1.2.0
      with:
        rust-version: ${{ matrix.rust }}
        targets: wasm32-unknown-unknown
    - uses: actions/checkout@master
    - name: Check stdweb
      run: cargo install cargo-web && cargo web check --features stdweb
    - name: Clippy
      run: cargo check --target wasm32-unknown-unknown --features web-sys