2023-02-07 03:58:19 +09:00
|
|
|
only_if: $CIRRUS_TAG == '' && ($CIRRUS_PR != '' || $CIRRUS_BRANCH == 'master' || $CIRRUS_BRANCH =~ 'tokio-.*')
|
|
|
|
|
auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'tokio-.*'
|
2019-02-06 22:19:54 -07:00
|
|
|
freebsd_instance:
|
2025-02-14 17:37:16 +03:30
|
|
|
image_family: freebsd-14-2
|
2021-10-26 15:44:00 +02:00
|
|
|
env:
|
2024-12-03 15:33:28 +01:00
|
|
|
RUST_STABLE: stable
|
2025-01-26 01:46:21 +09:00
|
|
|
RUST_NIGHTLY: nightly-2025-01-25
|
2021-10-26 15:44:00 +02:00
|
|
|
RUSTFLAGS: -D warnings
|
2025-09-30 19:53:19 +08:00
|
|
|
# This excludes unstable features like io_uring, which require '--cfg tokio_unstable'.
|
|
|
|
|
TOKIO_STABLE_FEATURES: full,test-util
|
2019-02-06 22:19:54 -07:00
|
|
|
|
|
|
|
|
# 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:
|
2021-10-26 15:44:00 +02:00
|
|
|
name: FreeBSD 64-bit
|
2019-02-06 22:19:54 -07:00
|
|
|
setup_script:
|
2023-04-10 15:26:59 +02:00
|
|
|
- pkg install -y bash
|
2019-02-06 22:19:54 -07:00
|
|
|
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
2022-01-30 10:07:31 -08:00
|
|
|
- sh rustup.sh -y --profile minimal --default-toolchain $RUST_STABLE
|
2019-02-06 22:19:54 -07:00
|
|
|
- . $HOME/.cargo/env
|
2019-03-22 11:58:00 -07:00
|
|
|
- |
|
2019-07-10 14:36:36 -07:00
|
|
|
echo "~~~~ rustc --version ~~~~"
|
|
|
|
|
rustc --version
|
2019-02-06 22:19:54 -07:00
|
|
|
test_script:
|
|
|
|
|
- . $HOME/.cargo/env
|
2025-09-30 19:53:19 +08:00
|
|
|
- cargo test --all --features $TOKIO_STABLE_FEATURES
|
|
|
|
|
# Free the disk space before the next build,
|
|
|
|
|
# otherwise cirrus-ci complains about "No space left on device".
|
|
|
|
|
- cargo clean
|
2025-10-10 11:31:41 +08:00
|
|
|
# Enable all unstable features except `taskdump`, which is Linux-only.
|
|
|
|
|
- |
|
|
|
|
|
RUSTFLAGS="$RUSTFLAGS --cfg tokio_unstable" \
|
|
|
|
|
RUSTDOCFLAGS="$RUSTDOCFLAGS --cfg tokio_unstable" \
|
|
|
|
|
cargo test \
|
|
|
|
|
--features $TOKIO_STABLE_FEATURES,io-uring,tracing
|
2021-10-26 15:44:00 +02:00
|
|
|
|
|
|
|
|
task:
|
|
|
|
|
name: FreeBSD docs
|
|
|
|
|
env:
|
2022-02-25 09:36:37 -08:00
|
|
|
RUSTFLAGS: --cfg docsrs --cfg tokio_unstable
|
|
|
|
|
RUSTDOCFLAGS: --cfg docsrs --cfg tokio_unstable -Dwarnings
|
2021-10-26 15:44:00 +02:00
|
|
|
setup_script:
|
2023-04-10 15:26:59 +02:00
|
|
|
- pkg install -y bash
|
2021-10-26 15:44:00 +02:00
|
|
|
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
2022-01-30 10:07:31 -08:00
|
|
|
- sh rustup.sh -y --profile minimal --default-toolchain $RUST_NIGHTLY
|
2020-11-30 18:20:18 -07:00
|
|
|
- . $HOME/.cargo/env
|
|
|
|
|
- |
|
2021-10-26 15:44:00 +02:00
|
|
|
echo "~~~~ rustc --version ~~~~"
|
|
|
|
|
rustc --version
|
|
|
|
|
test_script:
|
|
|
|
|
- . $HOME/.cargo/env
|
2025-10-10 11:31:41 +08:00
|
|
|
# We use `--features $TOKIO_STABLE_FEATURES,io-uring,tracing` instead of
|
|
|
|
|
# `--all-features` to exclude `taskdump`, which is Linux-only.
|
|
|
|
|
- cargo doc --lib --no-deps --features $TOKIO_STABLE_FEATURES,io-uring,tracing --document-private-items
|
2021-10-26 15:44:00 +02:00
|
|
|
|
|
|
|
|
task:
|
|
|
|
|
name: FreeBSD 32-bit
|
|
|
|
|
setup_script:
|
2023-04-10 15:26:59 +02:00
|
|
|
- pkg install -y bash
|
2021-10-26 15:44:00 +02:00
|
|
|
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
2022-01-30 10:07:31 -08:00
|
|
|
- sh rustup.sh -y --profile minimal --default-toolchain $RUST_STABLE
|
2021-10-26 15:44:00 +02:00
|
|
|
- . $HOME/.cargo/env
|
|
|
|
|
- rustup target add i686-unknown-freebsd
|
|
|
|
|
- |
|
|
|
|
|
echo "~~~~ rustc --version ~~~~"
|
|
|
|
|
rustc --version
|
|
|
|
|
test_script:
|
|
|
|
|
- . $HOME/.cargo/env
|
2025-09-30 19:53:19 +08:00
|
|
|
- cargo test --all --features $TOKIO_STABLE_FEATURES --target i686-unknown-freebsd
|