]> git.ipfire.org Git - thirdparty/git.git/commit
ci: create script to set up Git for Windows SDK
authorPatrick Steinhardt <ps@pks.im>
Wed, 9 Oct 2024 13:25:21 +0000 (15:25 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Oct 2024 18:33:04 +0000 (11:33 -0700)
commit91839a882779012a2bc18c1bfd1d8d11fe1099aa
treedcd26ea80352d5042624628acfdd834b7a4aeaab
parent106834e34a2cc11b4a36a536c5b96c2c1c916cbd
ci: create script to set up Git for Windows SDK

In order to build and test Git, we have to first set up the Git for
Windows SDK, which contains various required tools and libraries. The
SDK is basically a clone of [1], but that repository is quite large due
to all the binaries it contains. We thus use both shallow clones and
sparse checkouts to speed up the setup. To handle this complexity we use
a GitHub action that is hosted externally at [2].

Unfortunately, this makes it rather hard to reuse the logic for CI
platforms other than GitHub Actions. After chatting with Johannes
Schindelin we came to the conclusion that it would be nice if the Git
for Windows SDK would regularly publish releases that one can easily
download and extract, thus moving all of the complexity into that single
step. Like this, all that a CI job needs to do is to fetch and extract
the resulting archive. This published release comes in the form of a new
"ci-artifacts" tag that gets updated regularly [3].

Implement a new script that knows how to fetch and extract that script
and convert GitHub Actions to use it.

[1]: https://github.com/git-for-windows/git-sdk-64/
[2]: https://github.com/git-for-windows/setup-git-for-windows-sdk/
[3]: https://github.com/git-for-windows/git-sdk-64/releases/tag/ci-artifacts/

Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
.github/workflows/main.yml
ci/install-sdk.ps1 [new file with mode: 0755]