@@ -12,10 +12,17 @@ jobs:
12
12
test :
13
13
strategy :
14
14
matrix :
15
+ # test both stable and beta versions of Rust on ubuntu-latest
16
+ os : [ubuntu-latest]
15
17
rust : [stable, beta]
16
- runs-on : ubuntu-latest
18
+ # test only stable version of Rust on Windows
19
+ include :
20
+ - rust : stable
21
+ os : windows-latest
22
+ runs-on : ${{ matrix.os }}
17
23
steps :
18
24
- name : Free disk space
25
+ if : ${{ matrix.os == 'ubuntu-latest'}}
19
26
run : |
20
27
df -h
21
28
sudo rm -rf /usr/local/lib/android
32
39
run : rustup set profile minimal
33
40
- uses : arduino/setup-protoc@v3
34
41
- name : Test
35
- run : ./scripts/test.sh
42
+ run : bash ./scripts/test.sh
36
43
lint :
37
44
runs-on : ubuntu-latest
38
45
steps :
@@ -48,12 +55,12 @@ jobs:
48
55
command : fmt
49
56
args : --all -- --check
50
57
- name : Lint
51
- run : ./scripts/lint.sh
58
+ run : bash ./scripts/lint.sh
52
59
external-types :
53
60
strategy :
54
61
matrix :
55
62
example : [opentelemetry, opentelemetry-sdk, opentelemetry-otlp, opentelemetry-zipkin]
56
- runs-on : ubuntu-latest
63
+ runs-on : ubuntu-latest # TODO: Check if this could be covered for Windows. The step used currently fails on Windows.
57
64
steps :
58
65
- uses : actions/checkout@v4
59
66
- uses : dtolnay/rust-toolchain@nightly
68
75
non-default-examples :
69
76
strategy :
70
77
matrix :
78
+ os : [ windows-latest, ubuntu-latest ]
71
79
example : [opentelemetry-otlp/examples/basic-otlp]
72
- runs-on : ubuntu-latest
80
+ runs-on : ${{ matrix.os }}
73
81
steps :
74
82
- uses : actions/checkout@v4
75
83
with :
@@ -83,21 +91,24 @@ jobs:
83
91
cd ${{ matrix.example }}
84
92
cargo build --verbose
85
93
msrv :
86
- runs-on : ubuntu-latest
94
+ strategy :
95
+ matrix :
96
+ os : [ windows-latest, ubuntu-latest ]
97
+ runs-on : ${{ matrix.os }}
87
98
steps :
88
99
- uses : actions/checkout@v4
89
100
with :
90
101
submodules : true
91
102
- uses : dtolnay/rust-toolchain@1.65.0
92
103
- name : Patch dependencies versions # some dependencies bump MSRV without major version bump
93
- run : ./scripts/patch_dependencies.sh
104
+ run : bash ./scripts/patch_dependencies.sh
94
105
- name : Run tests
95
106
run : cargo --version &&
96
107
cargo test --manifest-path=opentelemetry/Cargo.toml --features trace,metrics,testing &&
97
108
cargo test --manifest-path=opentelemetry-jaeger/Cargo.toml --features rt-tokio &&
98
109
cargo test --manifest-path=opentelemetry-zipkin/Cargo.toml
99
110
cargo-deny :
100
- runs-on : ubuntu-latest
111
+ runs-on : ubuntu-latest # This uses the step `EmbarkStudios/cargo-deny-action@v1` which is only supported on Linux
101
112
continue-on-error : true # Prevent sudden announcement of a new advisory from failing ci
102
113
steps :
103
114
- uses : actions/checkout@v4
0 commit comments