@@ -31,25 +31,106 @@ jobs:
3131 - uses : actions/checkout@v1
3232 - uses : actions-rs/toolchain@v1
3333 with :
34+ toolchain : ${{ matrix.rust }}
35+ target : ${{ matrix.target }}
3436 profile : minimal
37+ override : true
38+ - run : cargo build --release --target ${{ matrix.target }}
39+
40+ # Tests for the portable software backend
41+ soft :
42+ runs-on : ubuntu-latest
43+ strategy :
44+ matrix :
45+ include :
46+ # 32-bit Linux
47+ - target : i686-unknown-linux-gnu
48+ rust : 1.41.0 # MSRV
49+ deps : sudo apt install gcc-multilib
50+ - target : i686-unknown-linux-gnu
51+ rust : stable
52+ deps : sudo apt install gcc-multilib
53+
54+ # 64-bit Linux
55+ - target : x86_64-unknown-linux-gnu
56+ rust : 1.41.0 # MSRV
57+ - target : x86_64-unknown-linux-gnu
58+ rust : stable
59+ steps :
60+ - uses : actions/checkout@v1
61+ - uses : actions-rs/toolchain@v1
62+ with :
3563 toolchain : ${{ matrix.rust }}
3664 target : ${{ matrix.target }}
65+ profile : minimal
3766 override : true
38- - run : cargo build --no-default-features --release --target ${{ matrix.target }}
39- test :
67+ - run : ${{ matrix.deps }}
68+ - run : cargo check --target ${{ matrix.target }} --all-features
69+ - run : cargo test --release --target ${{ matrix.target }}
70+ - run : cargo test --release --target ${{ matrix.target }} --features semi_fixslice
71+
72+ # Tests for the AES-NI backend
73+ aesni :
4074 runs-on : ubuntu-latest
75+ env :
76+ CARGO_INCREMENTAL : 0
77+ RUSTDOCFLAGS : " -Ctarget-feature=+aes,+ssse3"
78+ RUSTFLAGS : " -Dwarnings -Ctarget-feature=+aes,+ssse3"
4179 strategy :
4280 matrix :
43- rust :
44- - 1.41.0 # MSRV
45- - stable
81+ include :
82+ # 32-bit Linux
83+ - target : i686-unknown-linux-gnu
84+ rust : 1.41.0 # MSRV
85+ deps : sudo apt install gcc-multilib
86+ - target : i686-unknown-linux-gnu
87+ rust : stable
88+ deps : sudo apt install gcc-multilib
89+
90+ # 64-bit Linux
91+ - target : x86_64-unknown-linux-gnu
92+ rust : 1.41.0 # MSRV
93+ - target : x86_64-unknown-linux-gnu
94+ rust : stable
4695 steps :
47- - uses : actions/checkout@v1
48- - uses : actions-rs/toolchain@v1
49- with :
50- profile : minimal
51- toolchain : ${{ matrix.rust }}
52- - run : cargo check --all-features
53- - run : cargo test --no-default-features
54- - run : cargo test
55- - run : cargo test --all-features
96+ - uses : actions/checkout@v1
97+ - uses : actions-rs/toolchain@v1
98+ with :
99+ profile : minimal
100+ toolchain : ${{ matrix.rust }}
101+ - run : ${{ matrix.deps }}
102+ - run : cargo check --all-features
103+ - run : cargo test --no-default-features
104+ - run : cargo test
105+ - run : cargo test --all-features
106+
107+ # Cross-compiled tests
108+ cross :
109+ strategy :
110+ matrix :
111+ include :
112+ # ARM64
113+ - target : aarch64-unknown-linux-gnu
114+ rust : 1.41.0 # MSRV
115+ - target : aarch64-unknown-linux-gnu
116+ rust : stable
117+
118+ # PPC32
119+ - target : powerpc-unknown-linux-gnu
120+ rust : 1.41.0 # MSRV
121+ - target : powerpc-unknown-linux-gnu
122+ rust : stable
123+
124+ runs-on : ubuntu-latest
125+ steps :
126+ - uses : actions/checkout@v1
127+ - run : ${{ matrix.deps }}
128+ - uses : actions-rs/toolchain@v1
129+ with :
130+ toolchain : ${{ matrix.rust }}
131+ target : ${{ matrix.target }}
132+ profile : minimal
133+ override : true
134+ - run : cargo install cross
135+ - run : cross test --release --target ${{ matrix.target }}
136+ - run : cross test --release --target ${{ matrix.target }} --features semi_fixslice
0 commit comments