@@ -112,7 +112,7 @@ jobs:
112112 group : windows-build-${{ github.ref }}
113113 cancel-in-progress : ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
114114 steps :
115- - uses : actions/checkout@v3
115+ - uses : actions/checkout@v4
116116 - uses : git-for-windows/setup-git-for-windows-sdk@v1
117117 - name : build
118118 shell : bash
@@ -123,7 +123,7 @@ jobs:
123123 - name : zip up tracked files
124124 run : git archive -o artifacts/tracked.tar.gz HEAD
125125 - name : upload tracked files and build artifacts
126- uses : actions/upload-artifact@v3
126+ uses : actions/upload-artifact@v4
127127 with :
128128 name : windows-artifacts
129129 path : artifacts
@@ -140,7 +140,7 @@ jobs:
140140 cancel-in-progress : ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
141141 steps :
142142 - name : download tracked files and build artifacts
143- uses : actions/download-artifact@v3
143+ uses : actions/download-artifact@v4
144144 with :
145145 name : windows-artifacts
146146 path : ${{github.workspace}}
@@ -157,7 +157,7 @@ jobs:
157157 run : ci/print-test-failures.sh
158158 - name : Upload failed tests' directories
159159 if : failure() && env.FAILED_TEST_ARTIFACTS != ''
160- uses : actions/upload-artifact@v3
160+ uses : actions/upload-artifact@v4
161161 with :
162162 name : failed-tests-windows
163163 path : ${{env.FAILED_TEST_ARTIFACTS}}
@@ -169,38 +169,37 @@ jobs:
169169 NO_PERL : 1
170170 GIT_CONFIG_PARAMETERS : " 'user.name=CI' 'user.email=ci@git'"
171171 runs-on : windows-latest
172+ strategy :
173+ matrix :
174+ arch : [x64, arm64]
172175 concurrency :
173- group : vs-build-${{ github.ref }}
176+ group : vs-build-${{ github.ref }}-${{ matrix.arch }}
174177 cancel-in-progress : ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
175178 steps :
176- - uses : actions/checkout@v3
179+ - uses : actions/checkout@v4
177180 - uses : git-for-windows/setup-git-for-windows-sdk@v1
178181 - name : initialize vcpkg
179- uses : actions/checkout@v3
182+ uses : actions/checkout@v4
180183 with :
181184 repository : ' microsoft/vcpkg'
182185 path : ' compat/vcbuild/vcpkg'
183186 - name : download vcpkg artifacts
184- shell : powershell
185- run : |
186- $urlbase = "https://dev.azure.com/git/git/_apis/build/builds"
187- $id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=9&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id
188- $downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[0].resource.downloadUrl
189- (New-Object Net.WebClient).DownloadFile($downloadUrl, "compat.zip")
190- Expand-Archive compat.zip -DestinationPath . -Force
191- Remove-Item compat.zip
187+ uses : git-for-windows/get-azure-pipelines-artifact@v0
188+ with :
189+ repository : git/git
190+ definitionId : 9
192191 - name : add msbuild to PATH
193192 uses : microsoft/setup-msbuild@v1
194193 - name : copy dlls to root
195194 shell : cmd
196- run : compat\vcbuild\vcpkg_copy_dlls.bat release
195+ run : compat\vcbuild\vcpkg_copy_dlls.bat release ${{ matrix.arch }}-windows
197196 - name : generate Visual Studio solution
198197 shell : bash
199198 run : |
200- cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64 -windows \
201- -DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
199+ cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/${{ matrix.arch }} -windows \
200+ -DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON -DCMAKE_GENERATOR_PLATFORM=${{ matrix.arch }} -DVCPKG_ARCH=${{ matrix.arch }}-windows -DHOST_CPU=${{ matrix.arch }}
202201 - name : MSBuild
203- run : msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
202+ run : msbuild git.sln -property:Configuration=Release -property:Platform=${{ matrix.arch }} -maxCpuCount:4 -property:PlatformToolset=v142
204203 - name : bundle artifact tar
205204 shell : bash
206205 env :
@@ -212,9 +211,9 @@ jobs:
212211 - name : zip up tracked files
213212 run : git archive -o artifacts/tracked.tar.gz HEAD
214213 - name : upload tracked files and build artifacts
215- uses : actions/upload-artifact@v3
214+ uses : actions/upload-artifact@v4
216215 with :
217- name : vs-artifacts
216+ name : vs-artifacts-${{ matrix.arch }}
218217 path : artifacts
219218 vs-test :
220219 name : win+VS test
@@ -230,9 +229,9 @@ jobs:
230229 steps :
231230 - uses : git-for-windows/setup-git-for-windows-sdk@v1
232231 - name : download tracked files and build artifacts
233- uses : actions/download-artifact@v3
232+ uses : actions/download-artifact@v4
234233 with :
235- name : vs-artifacts
234+ name : vs-artifacts-x64
236235 path : ${{github.workspace}}
237236 - name : extract tracked files and build artifacts
238237 shell : bash
@@ -248,7 +247,7 @@ jobs:
248247 run : ci/print-test-failures.sh
249248 - name : Upload failed tests' directories
250249 if : failure() && env.FAILED_TEST_ARTIFACTS != ''
251- uses : actions/upload-artifact@v3
250+ uses : actions/upload-artifact@v4
252251 with :
253252 name : failed-tests-windows
254253 path : ${{env.FAILED_TEST_ARTIFACTS}}
@@ -297,15 +296,15 @@ jobs:
297296 runs_on_pool : ${{matrix.vector.pool}}
298297 runs-on : ${{matrix.vector.pool}}
299298 steps :
300- - uses : actions/checkout@v3
299+ - uses : actions/checkout@v4
301300 - run : ci/install-dependencies.sh
302301 - run : ci/run-build-and-tests.sh
303302 - name : print test failures
304303 if : failure() && env.FAILED_TEST_ARTIFACTS != ''
305304 run : ci/print-test-failures.sh
306305 - name : Upload failed tests' directories
307306 if : failure() && env.FAILED_TEST_ARTIFACTS != ''
308- uses : actions/upload-artifact@v3
307+ uses : actions/upload-artifact@v4
309308 with :
310309 name : failed-tests-${{matrix.vector.jobname}}
311310 path : ${{env.FAILED_TEST_ARTIFACTS}}
@@ -342,7 +341,7 @@ jobs:
342341 runs-on : ubuntu-latest
343342 container : ${{matrix.vector.image}}
344343 steps :
345- - uses : actions/checkout@v3
344+ - uses : actions/checkout@v4
346345 if : matrix.vector.jobname != 'linux32'
347346 - uses : actions/checkout@v1
348347 if : matrix.vector.jobname == 'linux32'
@@ -353,13 +352,13 @@ jobs:
353352 run : ci/print-test-failures.sh
354353 - name : Upload failed tests' directories
355354 if : failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname != 'linux32'
356- uses : actions/upload-artifact@v3
355+ uses : actions/upload-artifact@v4
357356 with :
358357 name : failed-tests-${{matrix.vector.jobname}}
359358 path : ${{env.FAILED_TEST_ARTIFACTS}}
360359 - name : Upload failed tests' directories
361360 if : failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname == 'linux32'
362- uses : actions/upload-artifact@v1
361+ uses : actions/upload-artifact@v4
363362 with :
364363 name : failed-tests-${{matrix.vector.jobname}}
365364 path : ${{env.FAILED_TEST_ARTIFACTS}}
@@ -373,7 +372,7 @@ jobs:
373372 group : static-analysis-${{ github.ref }}
374373 cancel-in-progress : ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
375374 steps :
376- - uses : actions/checkout@v3
375+ - uses : actions/checkout@v4
377376 - run : ci/install-dependencies.sh
378377 - run : ci/run-static-analysis.sh
379378 - run : ci/check-directional-formatting.bash
@@ -396,7 +395,7 @@ jobs:
396395 artifact : sparse-20.04
397396 - name : Install the current `sparse` package
398397 run : sudo dpkg -i sparse-20.04/sparse_*.deb
399- - uses : actions/checkout@v3
398+ - uses : actions/checkout@v4
400399 - name : Install other dependencies
401400 run : ci/install-dependencies.sh
402401 - run : make sparse
@@ -411,6 +410,6 @@ jobs:
411410 jobname : Documentation
412411 runs-on : ubuntu-latest
413412 steps :
414- - uses : actions/checkout@v3
413+ - uses : actions/checkout@v4
415414 - run : ci/install-dependencies.sh
416415 - run : ci/test-documentation.sh
0 commit comments