hecs 0.7.3

A fast, minimal, and ergonomic entity-component-system library
Documentation
name: CI

on:
  push:
    branches: ['master']
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - stable
        features:
          - --all-features
          - --no-default-features

    steps:
      - uses: actions/checkout@v1

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust }}
          override: true

      - uses: actions-rs/cargo@v1
        with:
          command: build
          args: -p hecs --all-targets ${{ matrix.features }}

      - uses: actions-rs/cargo@v1
        with:
          command: test
          args: -p hecs ${{ matrix.features }}

  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
          components: rustfmt, clippy

      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

      - name: doc
        run: cargo doc --no-deps --all-features
        env:
          RUSTDOCFLAGS: -Dwarnings

      - uses: actions-rs/cargo@v1
        if: always()
        with:
          command: clippy
          args: --all-features -- -D warnings

  miri:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
          components: miri, rust-src

      - uses: actions-rs/cargo@v1
        with:
          command: miri
          args: setup

      - uses: actions-rs/cargo@v1
        with:
          command: miri
          args: test --all-features