@@ -16,6 +16,7 @@ defaults:
1616env :
1717 CARGO_INCREMENTAL : 0
1818 RUSTFLAGS : " -Dwarnings"
19+ SDE_FULL_VERSION : " 9.53.0-2025-03-16"
1920
2021jobs :
2122 # Builds for no_std platforms
6869 env :
6970 CARGO_INCREMENTAL : 0
7071 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 "
7273 strategy :
7374 matrix :
7475 include :
9798 - run : cargo test --target ${{ matrix.target }} --features hazmat
9899 - run : cargo test --target ${{ matrix.target }} --all-features
99100
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+
100175 # Tests for CPU feature autodetection with fallback to portable software implementation
101176 autodetect :
102177 runs-on : ubuntu-latest
0 commit comments