tokio-seqpacket 0.9.0

unix seqpacket sockets for tokio
Documentation
name: tests
on:
  push: { branches: ["master", "main"] }
  pull_request: { branches: "*" }

jobs:
  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v6
      - name: Rust toolchain
        uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt
      - name: Rustfmt
        run: cargo fmt --check --all

  build_and_test:
    name: Linux
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        build: [stable, beta, nightly, stable-musl]
        include:
          - build: stable
            os: ubuntu-latest
            rust: stable
            target: x86_64-unknown-linux-gnu
          - build: beta
            os: ubuntu-latest
            rust: beta
            target: x86_64-unknown-linux-gnu
          - build: nightly
            os: ubuntu-latest
            rust: nightly
            target: x86_64-unknown-linux-gnu
          - build: stable-musl
            os: ubuntu-latest
            rust: stable
            target: x86_64-unknown-linux-musl

    steps:
      - name: Checkout code
        uses: actions/checkout@master
      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust }}
          profile: minimal
          components: clippy
          target: ${{ matrix.target }}
      - name: Build
        run: rustup run ${{ matrix.rust }} cargo build --features non-portable --color=always --target ${{ matrix.target }}
      - name: Test
        run: rustup run ${{ matrix.rust }} cargo test  --features non-portable --color=always --target ${{ matrix.target }}
      - name: Clippy
        uses: actions-rs/clippy-check@v1
        if: matrix.build == 'nightly'
        with:
          toolchain: ${{ matrix.rust }}
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --release --all-features
      - name: Documentation
        if: matrix.build == 'nightly'
        env:
          RUSTDOCFLAGS: -Dwarnings
        run: rustup run ${{ matrix.rust }} cargo doc  --all-features --color=always --target ${{ matrix.target }}

  vmactions:
    runs-on: ubuntu-latest
    name: FreeBSD
    steps:
      - uses: actions/checkout@v6
      - name: Start VM
        uses: vmactions/freebsd-vm@v1
        with:
          release: "14.4"
          usesh: true
      - name: Install dependencies
        shell: freebsd {0}
        run: |
          pkg install -y curl
          fetch https://sh.rustup.rs -o rustup.sh
          sh rustup.sh -y --profile=minimal
      - name: Build
        shell: freebsd {0}
        run: |
          . $HOME/.cargo/env
          cargo build --features non-portable --color=always
      - name: Test
        shell: freebsd {0}
        run: |
          . $HOME/.cargo/env
          cargo test --features non-portable --color=always