tun 0.8.7

TUN device creation and handling.
Documentation
name: TestFreeBSD

on:
  [push, pull_request]

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

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        toolchain: ["stable"] # ["nightly", "beta", "stable"] #
    steps:
      - uses: actions/checkout@v6
      - name: Test in FreeBSD
        id: test
        uses: vmactions/freebsd-vm@v1
        with:
          usesh: true
          sync: rsync
          copyback: false
          prepare: |
            pkg install -y curl pkgconf glib
            curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf > install.sh
            chmod +x install.sh
            ./install.sh -y --default-toolchain ${{ matrix.toolchain }}
          run: |
            . "$HOME/.cargo/env"
            set -ex

            # Add feature "nightly" if toolchain is nightly
            if [ "${{ matrix.toolchain }}" = "nightly" ]; then
                ARGS="$ARGS --features nightly"
            fi

            rustup show

            RUST_BACKTRACE=1 cargo +${{ matrix.toolchain }} fmt --all -- --check
            RUST_BACKTRACE=1 cargo +${{ matrix.toolchain }} clippy --all-features -- -D warnings
            RUST_BACKTRACE=1 cargo +${{ matrix.toolchain }} build --all-features