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 # make sure all code has been formatted with rustfmt - run: rustup component add rustfmt - name: check rustfmt uses: actions-rs/cargo@v1 with: command: fmt args: -- --check --color always 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