crystalorb 0.3.0

Network-agnostic, high-level game networking library
name: ci

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: Swatinem/rust-cache@v1
      - uses: actions-rs/toolchain@v1
      - uses: actions-rs/cargo@v1
        with:
          command: check
          args: --all
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: Swatinem/rust-cache@v1
      - uses: actions-rs/toolchain@v1
      - uses: actions-rs/cargo@v1
        with:
          command: test
          args: --all
  test-coverage:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: Swatinem/rust-cache@v1
      - uses: actions-rs/toolchain@v1
      - uses: actions-rs/tarpaulin@v0.1
        with:
          args: "--ignore-tests --exclude-files examples --exclude-files crates --run-types Doctests Tests"
      - uses: codecov/codecov-action@v2
      - uses: actions/upload-artifact@v1
        with:
          name: code-coverage-report
          path: cobertura.xml
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: Swatinem/rust-cache@v1
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          components: rustfmt
      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check
  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: Swatinem/rust-cache@v1
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          components: clippy
      - uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all -- -D warnings -A incomplete_features
  cargo-lint:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        checks:
          - advisories
          - bans licenses sources
    continue-on-error: ${{ matrix.checks == 'advisories' }}
    steps:
      - uses: actions/checkout@v2
      - uses: EmbarkStudios/cargo-deny-action@v1
        with:
          command: check ${{ matrix.checks }}
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/audit-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}