mlua-luau-scheduler 0.0.1

Luau-based async scheduler, using mlua and async-executor
Documentation
name: CI

on:
  push:
  pull_request:
  workflow_dispatch:

defaults:
  run:
    shell: bash

jobs:

  fmt:
    name: Check formatting
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt

      - name: Check Formatting
        run: cargo fmt --check

  ci:
    needs: ["fmt"]
    strategy:
      fail-fast: false
      matrix:
        include:
          - name: Windows x86_64
            runner-os: windows-latest
            cargo-target: x86_64-pc-windows-msvc

          - name: Linux x86_64
            runner-os: ubuntu-latest
            cargo-target: x86_64-unknown-linux-gnu

          - name: macOS x86_64
            runner-os: macos-latest
            cargo-target: x86_64-apple-darwin

    name: CI - ${{ matrix.name }}
    runs-on: ${{ matrix.runner-os }}
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
          targets: ${{ matrix.cargo-target }}

      - name: Build
        run: |
          cargo build \
          --locked --all-features \
          --target ${{ matrix.cargo-target }}

      - name: Lint
        run: |
          cargo clippy \
          --locked --all-features \
          --target ${{ matrix.cargo-target }}

      - name: Test
        run: |
          cargo test \
          --locked --all-features \
          --target ${{ matrix.cargo-target }}