ci: run `make sparse` as part of the GitHub workflow
commite61059660ca00ba69d1721b7d48653c52848bece
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 14 Jul 2021 11:50:33 +0000 (14 11:50 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Jul 2021 17:14:21 +0000 (14 10:14 -0700)
tree3158cb21fbb01f147425f16a006ae628d36f78db
parent75ae10bc75336db031ee58d13c5037b929235912
ci: run `make sparse` as part of the GitHub workflow

Occasionally we receive reviews after patches were integrated, where
`sparse` (https://sparse.docs.kernel.org/en/latest/ has more information
on that project) identified problems such as file-local variables or
functions being declared as global.

By running `sparse` as part of our Continuous Integration, we can catch
such things much earlier. Even better: developers who activated GitHub
Actions on their forks can catch such issues before even sending their
patches to the Git mailing list.

This addresses https://github.com/gitgitgadget/git/issues/345

Note: Not even Ubuntu 20.04 ships with a new enough version of `sparse`
to accommodate Git's needs. The symptom looks like this:

    add-interactive.c:537:51: error: Using plain integer as NULL pointer

To counter that, we download and install the custom-built `sparse`
package from the Azure Pipeline that we specifically created to address
this issue.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
.github/workflows/main.yml