Re: CI and test improvements

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: CI and test improvements
Date: 2022-06-23 19:31:26
Message-ID: 20220623193125.GB22452@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, May 28, 2022 at 10:37:41AM -0500, Justin Pryzby wrote:
> I'm "joining" a bunch of unresolved threads hoping to present them better since
> they're related and I'm maintaining them together anyway.

This resolves an error with libpq tests in an intermediate commit, probably
caused by rebasing (and maybe hidden by the fact that the tests weren't being
run).

And updates ccache to avoid CCACHE_COMPILER.

Should any of the test changes go into v15 ?

> Subject: [PATCH 02/19] cirrus/vcregress: test modules/contrib with NO_INSTALLCHECK=1
> Subject: [PATCH 08/19] vcregress: add alltaptests
> Subject: [PATCH 14/19] Move libpq_pipeline test into src/interfaces/libpq.
> Subject: [PATCH 15/19] msvc: do not install libpq test tools by default

I also added: cirrus/ccache: disable compression and show stats

Since v4.0, ccache enables zstd compression by default, saving roughly 2x-3x.
But, cirrus caches are compressed as tar.gz, so we could disable ccache
compression, allowing cirrus to gzip the uncompressed data (better than
ccache's default of zstd-1).

https://cirrus-ci.com/build/5194596123672576
debian/bullseye has ccache 4.2; cirrus says 92MB cache after a single compilation; cache_size_kibibyte 102000
macos: has 4.5.1: 46MB cache; cache_size_kibibyte 51252
freebsd: has 3.7.12: 41MB cache; cache_size_kibibyte 130112

For some reason, mac's ccache uses 2x less space than either freesbsd or linux.
Linux is ~30% larger.
Freebsd uploads an artifact 3x smaller than the size ccache reports, because
its ccache is old so doesn't enable compression by default.

I've also sent some patches to Thomas for cfbot to help progress some of these
patches (code coverage and documentation upload as artifacts).
https://github.com/justinpryzby/cfbot/commits/master

--
Justin

Attachment Content-Type Size
0001-cirrus-windows-add-compiler_warnings_script.patch text/x-diff 2.5 KB
0002-cirrus-vcregress-test-modules-contrib-with-NO_INSTAL.patch text/x-diff 8.1 KB
0003-set-TESTDIR-from-src-test-perl-rather-than-Makefile-.patch text/x-diff 4.2 KB
0004-s-also-remove-PATH.patch text/x-diff 3.4 KB
0005-cirrus-macos-enable-various-runtime-checks.patch text/x-diff 1.3 KB
0006-cirrus-linux-compile-with-fsanitize.patch text/x-diff 1.1 KB
0007-cirrus-windows-increase-timeout-to-25min.patch text/x-diff 1.1 KB
0008-vcregress-add-alltaptests.patch text/x-diff 4.4 KB
0009-tmp-run-tap-tests-first.patch text/x-diff 1.2 KB
0010-vcregress-run-alltaptests-in-parallel.patch text/x-diff 5.6 KB
0011-cirrus-make-DebugInformationFormat-OldStyle-for-CI-b.patch text/x-diff 2.4 KB
0012-cirrus-windows-ccache.patch text/x-diff 2.1 KB
0013-cirrus-ccache-disable-compression-and-show-stats.patch text/x-diff 4.6 KB
0014-another-way-to-install-uri-regress-uri_regress.patch text/x-diff 3.9 KB
0015-Move-libpq_pipeline-test-into-src-interfaces-libpq.patch text/x-diff 9.0 KB
0016-msvc-do-not-install-libpq-test-tools-by-default.patch text/x-diff 2.2 KB
0017-cirrus-code-coverage.patch text/x-diff 3.3 KB
0018-cirrus-build-docs-as-a-separate-task.patch text/x-diff 2.0 KB
0019-cirrus-upload-changed-html-docs-as-artifacts.patch text/x-diff 2.6 KB
0020-f-html-index-file.patch text/x-diff 2.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Markus Wanner 2022-06-23 19:57:07 Re: fix crash with Python 3.11
Previous Message Heikki Linnakangas 2022-06-23 19:03:27 Re: Race condition in TransactionIdIsInProgress