@@ -132,45 +132,81 @@ jobs:
132
132
toolchain : stable
133
133
target : aarch64-pc-windows-msvc
134
134
- name : Install cargo-xwin and bindgen-cli
135
- run : cargo install cargo-xwin bindgen-cli
135
+ run : cargo install --locked cargo-xwin bindgen-cli
136
136
- name : cargo xwin build for `x86_64-pc-windows-msvc`
137
- run : cargo xwin build -p aws-lc-rs --release --target x86_64-pc-windows-msvc
137
+ run : cargo xwin build -p aws-lc-rs --release --all-targets -- target x86_64-pc-windows-msvc
138
138
- name : cargo xwin build for `aarch64-pc-windows-msvc`
139
- run : cargo xwin build -p aws-lc-rs --release --target aarch64-pc-windows-msvc
139
+ run : cargo xwin build -p aws-lc-rs --release --all-targets -- target aarch64-pc-windows-msvc
140
140
141
- aws-lc-rs-windows-mingw :
141
+ aws-lc-rs-windows-gnu :
142
142
if : github.repository_owner == 'aws'
143
- name : x86_64-pc-windows-gnu
143
+ name : ${{ matrix.target }}
144
144
runs-on : windows-latest
145
+ strategy :
146
+ fail-fast : false
147
+ matrix :
148
+ target :
149
+ - ' x86_64-pc-windows-gnu'
150
+ # TODO: 'i686-pc-windows-gnu'
145
151
steps :
146
152
- uses : ilammy/setup-nasm@v1
147
- - uses : actions/checkout@v3
153
+ - uses : actions/checkout@v4
148
154
with :
149
155
submodules : ' recursive'
150
156
- uses : dtolnay/rust-toolchain@master
151
157
id : toolchain
152
158
with :
153
159
toolchain : stable
154
- target : x86_64-pc-windows-gnu
155
- - name : Debug Test on `x86_64-pc-windows-gnu `
156
- run : cargo test -p aws-lc-rs --target x86_64-pc-windows-gnu --features bindgen
157
- - name : Release test on `x86_64-pc-windows-gnu `
158
- run : cargo test -p aws-lc-rs --release --target x86_64-pc-windows-gnu --features bindgen
160
+ target : ${{ matrix.target }}
161
+ - name : Debug Test on `${{ matrix.target }} `
162
+ run : cargo test -p aws-lc-rs --target ${{ matrix.target }} --features bindgen
163
+ - name : Release test on `${{ matrix.target }} `
164
+ run : cargo test -p aws-lc-rs --release --target ${{ matrix.target }} --features bindgen
159
165
160
- aws-lc-rs-windows-arm64 :
161
- if : github.repository_owner == 'aws'
162
- name : aarch64-pc-windows-msvc
166
+ aws-lc-rs-windows-msvc :
167
+ if : ${{ github.repository_owner == 'aws' }}
168
+ name : ${{ matrix.target }} - ${{ (matrix.crt_static == '1' && 'crt-static and /WX') || '/WX' }}
163
169
runs-on : windows-latest
170
+ strategy :
171
+ fail-fast : false
172
+ matrix :
173
+ target :
174
+ - ' x86_64-pc-windows-msvc'
175
+ - ' i686-pc-windows-msvc'
176
+ - ' aarch64-pc-windows-msvc'
177
+ crt_static :
178
+ - ' 0'
179
+ - ' 1'
164
180
steps :
165
- - uses : actions/checkout@v3
181
+ - name : Install NASM
182
+ if : ${{ matrix.target == 'x86_64-pc-windows-msvc' || matrix.target == 'i686-pc-windows-msvc' }}
183
+ uses : ilammy/setup-nasm@v1
184
+ - uses : actions/checkout@v4
166
185
with :
167
186
submodules : ' recursive'
168
187
- name : Install ninja-build tool
188
+ if : ${{ matrix.target == 'aarch64-pc-windows-msvc' }}
169
189
uses : seanmiddleditch/gha-setup-ninja@v4
170
190
- uses : dtolnay/rust-toolchain@master
171
191
id : toolchain
172
192
with :
173
193
toolchain : stable
174
- target : aarch64-pc-windows-msvc
175
- - name : Build for `aarch64-pc-windows-msvc`
176
- run : cargo build -p aws-lc-rs --target aarch64-pc-windows-msvc --features bindgen
194
+ target : ${{ matrix.target }}
195
+ - name : Set ACTION_CARGO
196
+ run : |
197
+ if ('${{ matrix.target }}' -like '*aarch64*') {
198
+ echo "ACTION_CARGO=build" | Out-File -FilePath $env:GITHUB_ENV -Append
199
+ } else {
200
+ echo "ACTION_CARGO=test" | Out-File -FilePath $env:GITHUB_ENV -Append
201
+ }
202
+ - name : Set RUSTFLAGS
203
+ run : |
204
+ if ('${{ matrix.crt_static }}' -eq '1') {
205
+ echo "RUSTFLAGS=-Clink-arg=/WX -Ctarget-feature=+crt-static" | Out-File -FilePath $env:GITHUB_ENV -Append
206
+ } else {
207
+ echo "RUSTFLAGS=-Clink-arg=/WX" | Out-File -FilePath $env:GITHUB_ENV -Append
208
+ }
209
+ - name : Debug build
210
+ run : cargo ${{ env.ACTION_CARGO }} -p aws-lc-rs --all-targets --target ${{ matrix.target }} --features bindgen
211
+ - name : Release Build for ${{ matrix.target }}
212
+ run : cargo ${{ env.ACTION_CARGO }} --release -p aws-lc-rs --all-targets --target ${{ matrix.target }}
0 commit comments