ps-promise 0.1.0-17

Promise-like owned futures
Documentation
name: CI

on:
    push:
        branches: [master]
    pull_request:

env:
    CARGO_TERM_COLOR: always

jobs:
    test:
        name: Test (${{ matrix.name }})
        runs-on: ubuntu-latest
        strategy:
            fail-fast: false
            matrix:
                include:
                    - name: default
                      flags: ""
                    - name: anyhow
                      flags: --features anyhow
                    - name: smol
                      flags: --features smol
                    - name: tokio
                      flags: --features tokio
                    - name: all
                      flags: --all-features
        steps:
            - uses: actions/checkout@v4
            - uses: dtolnay/rust-toolchain@stable
            - uses: Swatinem/rust-cache@v2
            - run: cargo test ${{ matrix.flags }}

    loom:
        name: Loom
        runs-on: ubuntu-latest
        env:
            RUSTFLAGS: --cfg loom
        steps:
            - uses: actions/checkout@v4
            - uses: dtolnay/rust-toolchain@stable
            - uses: Swatinem/rust-cache@v2
            - run: cargo test --release --lib "loom::"

    msrv:
        name: MSRV (1.86)
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: dtolnay/rust-toolchain@master
              with:
                  toolchain: "1.86"
            - uses: Swatinem/rust-cache@v2
            - run: cargo check --all-targets --all-features

    clippy:
        name: Clippy
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: dtolnay/rust-toolchain@stable
              with:
                  components: clippy
            - uses: Swatinem/rust-cache@v2
            - run: cargo clippy --all-targets --all-features -- -D warnings

    fmt:
        name: Format
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: dtolnay/rust-toolchain@stable
              with:
                  components: rustfmt
            - run: cargo fmt --check

    doc:
        name: Docs
        runs-on: ubuntu-latest
        env:
            RUSTDOCFLAGS: -D warnings
        steps:
            - uses: actions/checkout@v4
            - uses: dtolnay/rust-toolchain@stable
            - uses: Swatinem/rust-cache@v2
            - run: cargo doc --no-deps --all-features