summaryrefslogtreecommitdiffstats
path: root/azure-pipelines.yml
blob: e4a87658ed8d7e99e05d51c68704dab9ea3fb805 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
trigger: ["master"]
pr: ["master"]

variables:
  RUSTFLAGS: -Dwarnings
  nightly: nightly-2019-11-16

jobs:
# Test top level crate
- template: ci/azure-test-stable.yml
  parameters:
    name: test_tokio
    rust: stable
    displayName: Test tokio
    cross: true
    crates:
      - tokio
      - tests-integration

# Test sub crates
- template: ci/azure-test-stable.yml
  parameters:
    name: test_linux
    displayName: Test sub crates -
    rust: stable
    crates:
      - tokio-macros
      - tokio-test
      - tokio-tls
      - tokio-util
      - examples

# Run tests from `tests-build`. This requires a different process
- template: ci/azure-test-build.yml
  parameters:
    name: test_build
    displayName: Test build permutations
    rust: stable

# Run loom tests
- template: ci/azure-loom.yml
  parameters:
    name: loom
    rust: stable
    crates:
      - tokio

# Try cross compiling
- template: ci/azure-cross-compile.yml
  parameters:
    name: cross
    rust: stable

# Check each feature works properly
- template: ci/azure-check-features.yml
  parameters:
    rust: $(nightly)
    name: check_features

# 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: 1.39.0

# Check formatting
- template: ci/azure-rustfmt.yml
  parameters:
    rust: stable
    name: rustfmt

# Apply clippy lints to all crates
- template: ci/azure-clippy.yml
  parameters:
    rust: stable
    name: clippy

# Check doc generation
- template: ci/azure-check-docs.yml
  parameters:
    rust: $(nightly)
    name: docs

# - template: ci/azure-tsan.yml
#   parameters:
#     name: tsan
#     rust: stable

- template: ci/azure-deploy-docs.yml
  parameters:
    rust: stable
    dependsOn:
      - rustfmt
      - clippy
      - test_tokio
      - test_linux
      - test_build
      - loom
      - cross
      - minrust
      - check_features
#      - tsan