From 670a907c55c7f7b27da203208e65da60de6598b2 Mon Sep 17 00:00:00 2001 From: Alice Ryhl Date: Sat, 2 May 2026 13:33:40 +0200 Subject: [PATCH] ci: fix CI on tokio-1.47.x (#8101) Co-authored-by: Mattia Pitossi --- .cirrus.yml | 58 -------------------------------- .github/workflows/ci.yml | 71 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 58 deletions(-) delete mode 100644 .cirrus.yml diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index aa8150d58..000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,58 +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_family: freebsd-14-3 -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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bed0212e0..edaf63722 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1231,3 +1231,74 @@ jobs: echo 'Please remove trailing whitespace from these lines.' exit 1 fi + + 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: "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 full,test-util + # Enable all unstable features except `io_uring` and `taskdump`, + # which are Linux-only features. + RUSTFLAGS="$RUSTFLAGS --cfg tokio_unstable" \ + cargo test \ + --features full,test-util,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 + with: + release: '14.4' + envs: "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 ${{ env.rust_nightly }} + run: | + . $HOME/.cargo/env + # We use `--features full,test-util,io-uring,tracing` instead of + # `--all-features` to exclude `taskdump` and `io_uring`, which are Linux-only + # features. + cargo doc --lib --no-deps --features full,test-util,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: "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 full,test-util \ + --target i686-unknown-freebsd