@@ -16,6 +16,7 @@ defaults:
16
16
env :
17
17
CARGO_INCREMENTAL : 0
18
18
RUSTFLAGS : " -Dwarnings"
19
+ SDE_FULL_VERSION : " 9.53.0-2025-03-16"
19
20
20
21
jobs :
21
22
# Builds for no_std platforms
68
69
env :
69
70
CARGO_INCREMENTAL : 0
70
71
RUSTDOCFLAGS : " -C target-feature=+aes,+ssse3"
71
- RUSTFLAGS : " -Dwarnings -C target-feature=+aes,+ssse3"
72
+ RUSTFLAGS : " -Dwarnings -C target-feature=+aes,+ssse3 --cfg aes_avx512_disable --cfg aes_avx256_disable "
72
73
strategy :
73
74
matrix :
74
75
include :
97
98
- run : cargo test --target ${{ matrix.target }} --features hazmat
98
99
- run : cargo test --target ${{ matrix.target }} --all-features
99
100
101
+ # Tests for the VAES AVX backend
102
+ vaes256 :
103
+ runs-on : ubuntu-latest
104
+ env :
105
+ CARGO_INCREMENTAL : 0
106
+ RUSTFLAGS : " -Dwarnings --cfg aes_avx512_disable"
107
+ strategy :
108
+ matrix :
109
+ include :
110
+ - target : x86_64-unknown-linux-gnu
111
+ rust : nightly-2025-05-28
112
+ steps :
113
+ - uses : actions/checkout@v4
114
+ - name : Install Intel SDE
115
+ run : |
116
+ curl -JLO "https://downloadmirror.intel.com/850782/sde-external-${{ env.SDE_FULL_VERSION }}-lin.tar.xz"
117
+ tar xvf sde-external-${{ env.SDE_FULL_VERSION }}-lin.tar.xz -C /opt
118
+ echo "/opt/sde-external-${{ env.SDE_FULL_VERSION }}-lin" >> $GITHUB_PATH
119
+ - uses : RustCrypto/actions/cargo-cache@master
120
+ - uses : dtolnay/rust-toolchain@master
121
+ with :
122
+ toolchain : ${{ matrix.rust }}
123
+ targets : ${{ matrix.target }}
124
+ # NOTE: Write a `.cargo/config.toml` to configure the target for VAES
125
+ # NOTE: We use intel-sde as the runner since not all GitHub CI hosts support AVX512
126
+ - name : write .cargo/config.toml
127
+ shell : bash
128
+ run : |
129
+ cd ../aes/..
130
+ mkdir -p .cargo
131
+ echo '[target.${{ matrix.target }}]' > .cargo/config.toml
132
+ echo 'runner = "sde64 -future --"' >> .cargo/config.toml
133
+ - run : ${{ matrix.deps }}
134
+ - run : cargo test --target ${{ matrix.target }}
135
+ - run : cargo test --target ${{ matrix.target }} --features hazmat
136
+ - run : cargo test --target ${{ matrix.target }} --all-features
137
+
138
+ # Tests for the VAES AVX512 backend
139
+ vaes512 :
140
+ runs-on : ubuntu-latest
141
+ env :
142
+ CARGO_INCREMENTAL : 0
143
+ strategy :
144
+ matrix :
145
+ include :
146
+ - target : x86_64-unknown-linux-gnu
147
+ rust : nightly-2025-05-28
148
+ steps :
149
+ - uses : actions/checkout@v4
150
+ - name : Install Intel SDE
151
+ run : |
152
+ curl -JLO "https://downloadmirror.intel.com/850782/sde-external-${{ env.SDE_FULL_VERSION }}-lin.tar.xz"
153
+ tar xvf sde-external-${{ env.SDE_FULL_VERSION }}-lin.tar.xz -C /opt
154
+ echo "/opt/sde-external-${{ env.SDE_FULL_VERSION }}-lin" >> $GITHUB_PATH
155
+ - uses : RustCrypto/actions/cargo-cache@master
156
+ - uses : dtolnay/rust-toolchain@master
157
+ with :
158
+ toolchain : ${{ matrix.rust }}
159
+ targets : ${{ matrix.target }}
160
+ # NOTE: Write a `.cargo/config.toml` to configure the target for VAES
161
+ # NOTE: We use intel-sde as the runner since not all GitHub CI hosts support AVX512
162
+ - name : write .cargo/config.toml
163
+ shell : bash
164
+ run : |
165
+ cd ../aes/..
166
+ mkdir -p .cargo
167
+ echo '[target.${{ matrix.target }}]' > .cargo/config.toml
168
+ echo 'runner = "sde64 -future --"' >> .cargo/config.toml
169
+ - run : ${{ matrix.deps }}
170
+ - run : cargo test --target ${{ matrix.target }}
171
+ - run : cargo test --target ${{ matrix.target }} --features hazmat
172
+ - run : cargo test --target ${{ matrix.target }} --all-features
173
+
174
+
100
175
# Tests for CPU feature autodetection with fallback to portable software implementation
101
176
autodetect :
102
177
runs-on : ubuntu-latest
0 commit comments