loom 0.5.6

Permutation testing for concurrent code
Documentation
name: CI

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

env:
  RUSTFLAGS: -Dwarnings
  RUST_BACKTRACE: 1

defaults:
  run:
    shell: bash

jobs:
  # Check formatting
  rustfmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Install Rust
      run: rustup update stable && rustup default stable
    - name: Check formatting
      run: cargo fmt --all -- --check

  # This represents the minimum Rust version supported by
  # Loom. Updating this should be done in a dedicated PR.
  #
  # Tests are not run as tests may require newer versions of
  # rust.
  minrust:
    name: minrust
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Rust
        run: rustup update 1.51.0 && rustup default 1.51.0
      - name: Check
        run: cargo check --all-features

  # Stable
  stable:
    name: stable
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Rust
        run: rustup update stable && rustup default stable
      - name: Test
        run: cargo test
      - name: Check --features checkpoint
        run: cargo check --features checkpoint
      - name: Test --features futures
        run: cargo test --features futures

  # check docs
  docs:
    name: build docs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Rust
        run: rustup update nightly && rustup default nightly
      - name: cargo doc
        run: cargo doc --no-deps --all-features
        env:
          RUSTDOCFLAGS: "--cfg docsrs -Dwarnings"