main-loop-async 0.1.2

Makes running async code from a main loop (ui loop, game loop) more ergonomic
Documentation
name: Rust General

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

on:
  push:
  workflow_call:

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: -D warnings
  RUSTDOCFLAGS: -D warnings

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
      - uses: wykies/checkout@main
      - uses: wykies/setup-rust-toolchain@main
      - name: Run examples
        run: cargo test --all-features --examples
      - name: Run tests
        run: cargo test --all-features

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: wykies/checkout@main
      - uses: wykies/setup-rust-toolchain@main
        with:
          toolchain: nightly
          components: rustfmt
          cache: false
      - name: Enforce formatting
        run: cargo fmt --all --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: wykies/checkout@main
      - uses: wykies/setup-rust-toolchain@main
        with:
          components: clippy
      - name: Linting
        run: cargo clippy --all-features -- -D warnings