mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-29 00:00:11 +02:00
ci: replace cirrus-ci with freebsd-vm (#8041)
This commit is contained in:
-71
@@ -1,71 +0,0 @@
|
|||||||
only_if: $CIRRUS_TAG == '' && ($CIRRUS_PR != '' || $CIRRUS_BRANCH == 'master' || $CIRRUS_BRANCH =~ 'tokio-.*')
|
|
||||||
auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'tokio-.*'
|
|
||||||
freebsd_instance:
|
|
||||||
image: freebsd-14-4-release-amd64-ufs
|
|
||||||
env:
|
|
||||||
RUST_STABLE: stable
|
|
||||||
RUST_NIGHTLY: nightly-2025-10-12
|
|
||||||
RUSTFLAGS: -D warnings
|
|
||||||
# This excludes unstable features like io_uring, which require '--cfg tokio_unstable'.
|
|
||||||
TOKIO_STABLE_FEATURES: full,test-util
|
|
||||||
|
|
||||||
# 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 --workspace --features $TOKIO_STABLE_FEATURES
|
|
||||||
# Free the disk space before the next build,
|
|
||||||
# otherwise cirrus-ci complains about "No space left on device".
|
|
||||||
- cargo clean
|
|
||||||
# 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
|
|
||||||
|
|
||||||
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
|
|
||||||
# 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
|
|
||||||
|
|
||||||
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 --workspace --features $TOKIO_STABLE_FEATURES --target i686-unknown-freebsd
|
|
||||||
@@ -1292,3 +1292,76 @@ jobs:
|
|||||||
uses: ./.github/workflows/uring-kernel-version-test.yml
|
uses: ./.github/workflows/uring-kernel-version-test.yml
|
||||||
with:
|
with:
|
||||||
kernel_version: ${{ matrix.kernel_version }}
|
kernel_version: ${{ matrix.kernel_version }}
|
||||||
|
|
||||||
|
freebsd-x86_64:
|
||||||
|
name: FreeBSD x86_64
|
||||||
|
needs: basics
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Test in FreeBSD
|
||||||
|
uses: vmactions/freebsd-vm@v1
|
||||||
|
with:
|
||||||
|
release: '14.4'
|
||||||
|
envs: "TOKIO_STABLE_FEATURES RUSTFLAGS"
|
||||||
|
prepare: |
|
||||||
|
pkg install -y curl
|
||||||
|
curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||||
|
sh rustup.sh -y --profile minimal --default-toolchain ${{ env.rust_stable }}
|
||||||
|
run: |
|
||||||
|
. $HOME/.cargo/env
|
||||||
|
cargo test --workspace --features $TOKIO_STABLE_FEATURES
|
||||||
|
# Enable all unstable features except `io_uring` and `taskdump`,
|
||||||
|
# which are Linux-only features.
|
||||||
|
RUSTFLAGS="$RUSTFLAGS --cfg tokio_unstable" \
|
||||||
|
RUSTDOCFLAGS="--cfg tokio_unstable" \
|
||||||
|
cargo test \
|
||||||
|
--features $TOKIO_STABLE_FEATURES,tracing
|
||||||
|
|
||||||
|
freebsd-docs:
|
||||||
|
name: FreeBSD docs
|
||||||
|
needs: basics
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Test in FreeBSD
|
||||||
|
uses: vmactions/freebsd-vm@v1
|
||||||
|
env:
|
||||||
|
RUSTFLAGS: --cfg docsrs --cfg tokio_unstable
|
||||||
|
RUSTDOCFLAGS: --cfg docsrs --cfg tokio_unstable -Dwarnings
|
||||||
|
RUST_NIGHTLY: nightly-2025-10-12
|
||||||
|
with:
|
||||||
|
release: '14.4'
|
||||||
|
envs: "TOKIO_STABLE_FEATURES RUST_NIGHTLY RUSTDOCFLAGS RUSTFLAGS"
|
||||||
|
prepare: |
|
||||||
|
pkg install -y curl
|
||||||
|
curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||||
|
sh rustup.sh -y --profile minimal --default-toolchain $RUST_NIGHTLY
|
||||||
|
run: |
|
||||||
|
. $HOME/.cargo/env
|
||||||
|
# We use `--features $TOKIO_STABLE_FEATURES,io-uring,tracing` instead of
|
||||||
|
# `--all-features` to exclude `taskdump` and `io_uring`, which are Linux-only
|
||||||
|
# features.
|
||||||
|
cargo doc --lib --no-deps --features $TOKIO_STABLE_FEATURES,tracing \
|
||||||
|
--document-private-items
|
||||||
|
|
||||||
|
freebsd-i686:
|
||||||
|
name: FreeBSD i686
|
||||||
|
needs: basics
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Test in FreeBSD
|
||||||
|
uses: vmactions/freebsd-vm@v1
|
||||||
|
with:
|
||||||
|
release: '14.4'
|
||||||
|
envs: "TOKIO_STABLE_FEATURES RUSTFLAGS"
|
||||||
|
prepare: |
|
||||||
|
pkg install -y curl
|
||||||
|
curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||||
|
sh rustup.sh -y --profile minimal --default-toolchain ${{ env.rust_stable }}
|
||||||
|
run: |
|
||||||
|
. $HOME/.cargo/env
|
||||||
|
rustup target add i686-unknown-freebsd
|
||||||
|
cargo test --workspace --features $TOKIO_STABLE_FEATURES \
|
||||||
|
--target i686-unknown-freebsd
|
||||||
|
|||||||
Reference in New Issue
Block a user