Files
tokio/azure-pipelines.yml
T
Taiki Endo 02f7264008 chore: check each feature works properly (#1695)
It is hard to maintain features list manually, so use cargo-hack's
`--each-feature` flag. And cargo-hack provides a workaround for an issue
that dev-dependencies leaking into normal build (`--no-dev-deps` flag),
so removed own ci tool.

Also, compared to running tests on all features, there is not much
advantage in running tests on each feature, so only the default features
and all features are tested.
If the behavior changes depending on the feature, we need to test it as
another job in CI.
2019-10-31 21:09:32 -07:00

88 lines
1.7 KiB
YAML

trigger: ["master"]
pr: ["master"]
variables:
RUSTFLAGS: -Dwarnings
jobs:
# Check formatting
- template: ci/azure-rustfmt.yml
parameters:
rust: beta
name: rustfmt
# Apply clippy lints to all crates
- template: ci/azure-clippy.yml
parameters:
rust: beta
name: clippy
# Test top level crate
- template: ci/azure-test-stable.yml
parameters:
name: test_tokio
rust: beta
displayName: Test tokio
cross: true
crates:
- tokio
- tests-integration
# Test crates that are NOT platform specific
- template: ci/azure-test-stable.yml
parameters:
name: test_linux
displayName: Test sub crates -
rust: beta
crates:
- tokio-macros
- tokio-test
- tokio-util
- examples
# Run loom tests
- template: ci/azure-loom.yml
parameters:
name: loom
rust: beta
crates:
- tokio
# Try cross compiling
- template: ci/azure-cross-compile.yml
parameters:
name: cross
rust: beta
# # This represents the minimum Rust version supported by
# # Tokio. Updating this should be done in a dedicated PR and
# # cannot be greater than two 0.x releases prior to the
# # current stable.
# #
# # Tests are not run as tests may require newer versions of
# # rust.
# - template: ci/azure-check-minrust.yml
# parameters:
# name: minrust
# rust_version: 1.34.0
#
# - template: ci/azure-tsan.yml
# parameters:
# name: tsan
# rust: beta
- template: ci/azure-deploy-docs.yml
parameters:
rust: beta
dependsOn:
- rustfmt
- clippy
- test_tokio
- test_linux
# - test_features
- loom
# - test_nightly
- cross
# - minrust
# - tsan