ci: configure GitHub Actions for CI/PR
authorĐoàn Trần Công Danh <congdanhqx@gmail.com>
Fri, 10 Apr 2020 17:18:09 +0000 (00:18 +0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Apr 2020 17:30:40 +0000 (10:30 -0700)
commit889cacb68976a66da3f43abb043e4230801115ef
tree988d7343a32c84c15f9343a53d6e4ae1d55cd469
parent4fef6321a5eb14b3a9be0b323b7f7a81fcd3ebf7
ci: configure GitHub Actions for CI/PR

This patch adds CI builds via GitHub Actions. While the underlying
technology is at least _very_ similar to that of Azure Pipelines, GitHub
Actions are much easier to set up than Azure Pipelines:

- no need to install a GitHub App,

- no need to set up an Azure DevOps account,

- all you need to do is push to your fork on GitHub.

Therefore, it makes a lot of sense for us to have a working GitHub
Actions setup.

While copy/editing `azure-pipelines.yml` into
`.github/workflows/main.yml`, we also use the opportunity to accelerate
the step that sets up a minimal subset of Git for Windows' SDK in the
Windows-build job:

- we now download a `.tar.xz` stored in Azure Blobs and extract it
  simultaneously by calling `curl` and piping the result to `tar`,

- decompressing via `xz`,

- all three utilities are installed together with Git for Windows

At the same time, we also make use of the matrix build feature, which
reduces the amount of repeated text by quite a bit.

Also, we do away with the parts that try to mount a file share on which
`prove` can store data between runs. It is just too complicated to set
up, and most times the tree changes anyway, so there is little return on
investment there.

Initial-patch-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
.github/workflows/main.yml [new file with mode: 0644]