only_if: $CIRRUS_TAG == '' && ($CIRRUS_PR != '' || $CIRRUS_BRANCH == 'master' || $CIRRUS_BRANCH =~ 'tokio-.*') auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'tokio-.*' freebsd_instance: image_family: freebsd-14-2 env: RUST_STABLE: stable RUST_NIGHTLY: nightly-2025-01-25 RUSTFLAGS: -D warnings # Test FreeBSD in a full VM on cirrus-ci.com. Test the i686 target too, in the # same VM. The binary will be built in 32-bit mode, but will execute on a # 64-bit kernel and in a 64-bit environment. Our tests don't execute any of # the system's binaries, so the environment shouldn't matter. task: name: FreeBSD 64-bit setup_script: - pkg install -y bash - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh -y --profile minimal --default-toolchain $RUST_STABLE - . $HOME/.cargo/env - | echo "~~~~ rustc --version ~~~~" rustc --version test_script: - . $HOME/.cargo/env - cargo test --all --all-features task: name: FreeBSD docs env: RUSTFLAGS: --cfg docsrs --cfg tokio_unstable RUSTDOCFLAGS: --cfg docsrs --cfg tokio_unstable -Dwarnings setup_script: - pkg install -y bash - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh -y --profile minimal --default-toolchain $RUST_NIGHTLY - . $HOME/.cargo/env - | echo "~~~~ rustc --version ~~~~" rustc --version test_script: - . $HOME/.cargo/env - cargo doc --lib --no-deps --all-features --document-private-items task: name: FreeBSD 32-bit setup_script: - pkg install -y bash - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh -y --profile minimal --default-toolchain $RUST_STABLE - . $HOME/.cargo/env - rustup target add i686-unknown-freebsd - | echo "~~~~ rustc --version ~~~~" rustc --version test_script: - . $HOME/.cargo/env - cargo test --all --all-features --target i686-unknown-freebsd