Re: [PATCH] Makefile: enable -Wsparse-error for DEVELOPER build
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 4, 2020, 13:43 UTC
- Message-ID
- <nycvar.QRO.7.76.6.2011041431370.18437@tvgsbejvaqbjf.bet>
- In-Reply-To
- <43aadae9-a4c1-f1e4-6902-c05af36fcf19@ramsayjones.plus.com>
Hi Ramsay,
On Tue, 3 Nov 2020, Ramsay Jones wrote:
Show 12 quoted lines
> On 02/11/2020 18:55, Junio C Hamano wrote: > > > CI builds already have enough stuff around invocation of "make test" > > etc., and it would be trivial to pass SPARSE_FLAGS from the command > > line when adding "make sparse" invocation to one of the scripts in ci/ > > directory, so from that point of view, this patch is not needed for > > them, either. > > My concern was more about how the CI system obtains/installs/builds a > sufficiently new version of sparse. Otherwise, 'make sparse' won't do > very much. ;-) As I said, I don't know what's involved in getting that > to work.
As mentioned in https://github.com/gitgitgadget/git/issues/345, there is a Pipeline that builds sparse packages for Ubuntu, ready for use in our CI build: https://dev.azure.com/git/git/_build?definitionId=10&_a=summary. Currently, it is scheduled to run every weekday at 5:00am (I assume that's UTC).
So I went ahead and added more details to the ticket, essentially demonstrating how the `sparse` package can be downloaded and installed in the CI build in a Bash step:
-- snip --
urlbase=https://dev.azure.com/git/git/_apis/build/builds
id=$(curl "$urlbase?definitions=10&statusFilter=completed&resultFilter=succeeded&\$top=1" |
json_pp |
sed -n 's/^ "id" : \([1-9][0-9]*\).*/\1/p')
download_url="$(curl "$urlbase/$id/artifacts" |
json_pp |
sed -n '/^ {/{:1;N;/\n }/b2;b1;:2;/"name" : "sparse"/{s/.*"downloadUrl" : "\([^"]*\).*/\1/p}}')"
curl -Lo sparse.zip "$download_url"
unzip sparse.zip
sudo dpkg -i sparse/*.deb
-- snap --It is quite likely that the ugly and unwieldy `json_pp | sed` things could be replaced by elegant `jq` calls.
Ciao, Dscho