25
25
strategy :
26
26
matrix :
27
27
rust :
28
- - 1.51 .0 # MSRV
28
+ - 1.56 .0 # MSRV
29
29
- stable
30
30
target :
31
31
- thumbv7em-none-eabi
38
38
target : ${{ matrix.target }}
39
39
override : true
40
40
profile : minimal
41
- - run : cargo build --target ${{ matrix.target }} --release --no-default-features --features cipher
42
- - run : cargo build --target ${{ matrix.target }} --release --no-default-features --features hchacha
43
- - run : cargo build --target ${{ matrix.target }} --release --no-default-features --features legacy
44
- - run : cargo build --target ${{ matrix.target }} --release --no-default-features --features rng
45
- - run : cargo build --target ${{ matrix.target }} --release --no-default-features --features cipher,force-soft,legacy,rng,zeroize
41
+ - run : cargo build --target ${{ matrix.target }}
42
+ - run : cargo build --target ${{ matrix.target }} --features zeroize
46
43
47
44
# Tests for runtime AVX2 detection
48
45
autodetect :
@@ -52,15 +49,15 @@ jobs:
52
49
include :
53
50
# 32-bit Linux
54
51
- target : i686-unknown-linux-gnu
55
- rust : 1.51 .0 # MSRV
52
+ rust : 1.56 .0 # MSRV
56
53
deps : sudo apt update && sudo apt install gcc-multilib
57
54
- target : i686-unknown-linux-gnu
58
55
rust : stable
59
56
deps : sudo apt update && sudo apt install gcc-multilib
60
57
61
58
# 64-bit Linux
62
59
- target : x86_64-unknown-linux-gnu
63
- rust : 1.51 .0 # MSRV
60
+ rust : 1.56 .0 # MSRV
64
61
- target : x86_64-unknown-linux-gnu
65
62
rust : stable
66
63
steps :
@@ -73,31 +70,28 @@ jobs:
73
70
profile : minimal
74
71
- run : ${{ matrix.deps }}
75
72
- run : cargo check --target ${{ matrix.target }} --all-features
76
- - run : cargo test --target ${{ matrix.target }} --release
77
- - run : cargo test --target ${{ matrix.target }} --release --features std
78
- - run : cargo test --target ${{ matrix.target }} --release --features rng
79
- - run : cargo test --target ${{ matrix.target }} --release --features zeroize
80
- - run : cargo test --target ${{ matrix.target }} --release --features std,rng,zeroize
73
+ - run : cargo test --target ${{ matrix.target }}
74
+ - run : cargo test --target ${{ matrix.target }} --features std,zeroize
81
75
82
76
# Tests for the AVX2 backend
83
77
avx2 :
84
78
runs-on : ubuntu-latest
85
79
env :
86
- RUSTFLAGS : -Ctarget-cpu=haswell -Dwarnings # Enables `avx2` target feature
80
+ RUSTFLAGS : -Ctarget-feature=+avx2 -Dwarnings
87
81
strategy :
88
82
matrix :
89
83
include :
90
84
# 32-bit Linux
91
85
- target : i686-unknown-linux-gnu
92
- rust : 1.51 .0 # MSRV
86
+ rust : 1.56 .0 # MSRV
93
87
deps : sudo apt update && sudo apt install gcc-multilib
94
88
- target : i686-unknown-linux-gnu
95
89
rust : stable
96
90
deps : sudo apt update && sudo apt install gcc-multilib
97
91
98
92
# 64-bit Linux
99
93
- target : x86_64-unknown-linux-gnu
100
- rust : 1.51 .0 # MSRV
94
+ rust : 1.56 .0 # MSRV
101
95
- target : x86_64-unknown-linux-gnu
102
96
rust : stable
103
97
steps :
@@ -110,30 +104,28 @@ jobs:
110
104
override : true
111
105
- run : ${{ matrix.deps }}
112
106
- run : cargo check --target ${{ matrix.target }} --all-features
113
- - run : cargo test --target ${{ matrix.target }} --release
114
- - run : cargo test --target ${{ matrix.target }} --release --features force-soft
115
- - run : cargo test --target ${{ matrix.target }} --release --features std
116
- - run : cargo test --target ${{ matrix.target }} --release --features rng
117
- - run : cargo test --target ${{ matrix.target }} --release --features zeroize
118
- - run : cargo test --target ${{ matrix.target }} --release --all-features
107
+ - run : cargo test --target ${{ matrix.target }}
108
+ - run : cargo test --target ${{ matrix.target }} --features std,zeroize
119
109
120
110
# Tests for the portable software backend (i.e. `force-soft`)
121
111
soft :
122
112
runs-on : ubuntu-latest
113
+ env :
114
+ RUSTFLAGS : --cfg chacha20_force_soft -Dwarnings
123
115
strategy :
124
116
matrix :
125
117
include :
126
118
# 32-bit Linux
127
119
- target : i686-unknown-linux-gnu
128
- rust : 1.51 .0 # MSRV
120
+ rust : 1.56 .0 # MSRV
129
121
deps : sudo apt update && sudo apt install gcc-multilib
130
122
- target : i686-unknown-linux-gnu
131
123
rust : stable
132
124
deps : sudo apt update && sudo apt install gcc-multilib
133
125
134
126
# 64-bit Linux
135
127
- target : x86_64-unknown-linux-gnu
136
- rust : 1.51 .0 # MSRV
128
+ rust : 1.56 .0 # MSRV
137
129
- target : x86_64-unknown-linux-gnu
138
130
rust : stable
139
131
steps :
@@ -146,11 +138,8 @@ jobs:
146
138
override : true
147
139
- run : ${{ matrix.deps }}
148
140
- run : cargo check --target ${{ matrix.target }} --all-features
149
- - run : cargo test --target ${{ matrix.target }} --release --features force-soft
150
- - run : cargo test --target ${{ matrix.target }} --release --features force-soft,std
151
- - run : cargo test --target ${{ matrix.target }} --release --features force-soft,rng
152
- - run : cargo test --target ${{ matrix.target }} --release --features force-soft,rng,zeroize
153
- - run : cargo test --target ${{ matrix.target }} --release --all-features
141
+ - run : cargo test --target ${{ matrix.target }}
142
+ - run : cargo test --target ${{ matrix.target }} --features std,zeroize
154
143
155
144
# Cross-compiled tests
156
145
cross :
@@ -159,7 +148,7 @@ jobs:
159
148
include :
160
149
# ARM64
161
150
- target : aarch64-unknown-linux-gnu
162
- rust : 1.51 .0 # MSRV
151
+ rust : 1.56 .0 # MSRV
163
152
- target : aarch64-unknown-linux-gnu
164
153
rust : stable
165
154
@@ -170,11 +159,15 @@ jobs:
170
159
171
160
# PPC32
172
161
- target : powerpc-unknown-linux-gnu
173
- rust : 1.51 .0 # MSRV
162
+ rust : 1.56 .0 # MSRV
174
163
- target : powerpc-unknown-linux-gnu
175
164
rust : stable
176
165
177
166
runs-on : ubuntu-latest
167
+ defaults :
168
+ run :
169
+ # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml
170
+ working-directory : .
178
171
steps :
179
172
- uses : actions/checkout@v1
180
173
- run : ${{ matrix.deps }}
@@ -184,9 +177,12 @@ jobs:
184
177
target : ${{ matrix.target }}
185
178
profile : minimal
186
179
override : true
187
- - run : cargo install cross
188
- - run : cross test --target ${{ matrix.target }} --release ${{ matrix.features }}
189
- - run : cross test --target ${{ matrix.target }} --release --features force-soft
190
- - run : cross test --target ${{ matrix.target }} --release --features rng
191
- - run : cross test --target ${{ matrix.target }} --release --features std
192
- - run : cross test --target ${{ matrix.target }} --release --all-features
180
+ - name : Install precompiled cross
181
+ run : |
182
+ export URL=$(curl -s https://api.github.com/repos/cross-rs/cross/releases/latest | \
183
+ jq -r '.assets[] | select(.name | contains("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url')
184
+ wget -O /tmp/binaries.tar.gz $URL
185
+ tar -C /tmp -xzf /tmp/binaries.tar.gz
186
+ mv /tmp/cross ~/.cargo/bin
187
+ shell : bash
188
+ - run : cross test --package chacha20 --target ${{ matrix.target }} ${{ matrix.features }}
0 commit comments