mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-29 00:00:11 +02:00
#993 introduces changes in a sub crate that other Tokio crates depend on. To make CI pass, a `[patch]` statement and `path` dependencies are used. When releasing, these must be removed. However, the commit that removes them and prepares the crates for release will not be able to pass CI. This commit adds a conditional on a special `[ci-release]` snippet in the commit message. If this exists, CI is only run with the full "patched" dependencies.
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
freebsd_instance:
|
|
image: freebsd-12-0-release-amd64
|
|
|
|
# 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 12.0
|
|
env:
|
|
LOOM_MAX_DURATION: 10
|
|
setup_script:
|
|
- pkg install -y curl
|
|
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
|
- sh rustup.sh -y
|
|
- . $HOME/.cargo/env
|
|
- rustup target add i686-unknown-freebsd
|
|
- |
|
|
# Remove any existing patch statements
|
|
mv Cargo.toml Cargo.toml.bck
|
|
sed -n '/\[patch.crates-io\]/q;p' Cargo.toml.bck > Cargo.toml
|
|
|
|
# Patch all crates
|
|
cat ci/patch.toml >> Cargo.toml
|
|
|
|
# Print `Cargo.toml` for debugging
|
|
echo "~~~~ Cargo.toml ~~~~"
|
|
cat Cargo.toml
|
|
echo "~~~~~~~~~~~~~~~~~~~~"
|
|
cargo_cache:
|
|
folder: $HOME/.cargo/registry
|
|
test_script:
|
|
- . $HOME/.cargo/env
|
|
- cargo test --all --no-fail-fast
|
|
- cargo doc --all
|
|
i686_test_script:
|
|
- . $HOME/.cargo/env
|
|
- |
|
|
cargo test --all --exclude tokio-tls --no-fail-fast --target i686-unknown-freebsd
|
|
before_cache_script:
|
|
- rm -rf $HOME/.cargo/registry/index
|