17
17
RUSTFLAGS : " -Dwarnings"
18
18
19
19
jobs :
20
+ # Builds for no_std platforms
20
21
build :
21
22
runs-on : ubuntu-latest
22
23
strategy :
@@ -37,21 +38,111 @@ jobs:
37
38
override : true
38
39
- run : cargo build --no-default-features --release --target ${{ matrix.target }}
39
40
40
- test :
41
+ # Linux tests
42
+ linux :
43
+ strategy :
44
+ matrix :
45
+ include :
46
+ # 32-bit Linux/x86
47
+ # *** NOTE: Currently broken with `asm` feature enabled! See:
48
+ # https://github.com/RustCrypto/hashes/issues/251
49
+ # - target: i686-unknown-linux-gnu
50
+ # rust: 1.41.0 # MSRV
51
+ # deps: sudo apt update && sudo apt install gcc-multilib
52
+ # - target: i686-unknown-linux-gnu
53
+ # rust: stable
54
+ # deps: sudo apt update && sudo apt install gcc-multilib
55
+
56
+ # 64-bit Linux/x86_64
57
+ - target : x86_64-unknown-linux-gnu
58
+ rust : 1.41.0 # MSRV
59
+ - target : x86_64-unknown-linux-gnu
60
+ rust : stable
61
+
41
62
runs-on : ubuntu-latest
63
+ steps :
64
+ - uses : actions/checkout@v1
65
+ - uses : actions-rs/toolchain@v1
66
+ with :
67
+ profile : minimal
68
+ toolchain : ${{ matrix.rust }}
69
+ target : ${{ matrix.target }}
70
+ override : true
71
+ - run : ${{ matrix.deps }}
72
+ - run : cargo test --target ${{ matrix.target }} --release --no-default-features
73
+ - run : cargo test --target ${{ matrix.target }} --release
74
+ - run : cargo test --target ${{ matrix.target }} --release --features asm
75
+ - run : cargo test --target ${{ matrix.target }} --release --all-features
76
+
77
+ # macOS tests
78
+ macos :
42
79
strategy :
43
80
matrix :
44
- rust :
81
+ toolchain :
45
82
- 1.41.0 # MSRV
46
83
- stable
84
+
85
+ runs-on : macos-latest
47
86
steps :
48
87
- uses : actions/checkout@v1
49
88
- uses : actions-rs/toolchain@v1
50
89
with :
51
90
profile : minimal
52
- toolchain : ${{ matrix.rust }}
91
+ toolchain : ${{ matrix.toolchain }}
92
+ target : x86_64-apple-darwin
93
+ override : true
94
+ - run : cargo test --release --no-default-features
95
+ - run : cargo test --release
96
+ - run : cargo test --release --features asm
97
+ - run : cargo test --release --all-features
98
+
99
+ # Windows tests
100
+ windows :
101
+ strategy :
102
+ matrix :
103
+ include :
104
+ # 64-bit Windows (GNU)
105
+ # TODO(tarcieri): try re-enabling this when we bump MSRV
106
+ # - target: x86_64-pc-windows-gnu
107
+ # toolchain: 1.41.0 # MSRV
108
+ - target : x86_64-pc-windows-gnu
109
+ toolchain : stable
110
+
111
+ runs-on : windows-latest
112
+ steps :
113
+ - uses : actions/checkout@v1
114
+ - uses : actions-rs/toolchain@v1
115
+ with :
116
+ profile : minimal
117
+ toolchain : ${{ matrix.toolchain }}
118
+ target : ${{ matrix.target }}
53
119
override : true
54
- - run : cargo test --no-default-features
55
- - run : cargo test
56
- - run : cargo test --features asm
57
- - run : cargo test --all-features
120
+ - uses : msys2/setup-msys2@v2
121
+ - run : cargo test --target ${{ matrix.target }} --release
122
+
123
+ # Cross-compiled tests
124
+ # *** NOTE: Currently broken with `asm` feature enabled! See:
125
+ # https://github.com/RustCrypto/hashes/issues/251
126
+ #
127
+ # cross:
128
+ # strategy:
129
+ # matrix:
130
+ # include:
131
+ # # ARM64
132
+ # - target: aarch64-unknown-linux-gnu
133
+ # rust: 1.41.0 # MSRV
134
+ # - target: aarch64-unknown-linux-gnu
135
+ # rust: stable
136
+ #
137
+ # runs-on: ubuntu-latest
138
+ # steps:
139
+ # - uses: actions/checkout@v1
140
+ # - uses: actions-rs/toolchain@v1
141
+ # with:
142
+ # profile: minimal
143
+ # toolchain: ${{ matrix.rust }}
144
+ # target: ${{ matrix.target }}
145
+ # override: true
146
+ # - run: cargo install cross
147
+ # - run: cross test --target ${{ matrix.target }} --release
148
+ # - run: cross test --target ${{ matrix.target }} --release --features asm
0 commit comments