I have pushed Release 13 of the PostgreSQL BuildFarm client.
Change highlights:
- add tests for a few cases that were previously missing
- more fine-grained control over which TAP test sets run
- --no-keepall can be specified on the command line
- repair a repo if it crashed during a copy operation
- make sure the repo is really clean (including free of ignored files)
- generate stack traces on CYGWIN
- collect stack traces for TAP tests
- Extract MSVC settings at runtime rather than had coding them in theconfig file (see below)
- cross version upgrade tests now run on Windows, both for msys2 and
MSVC builds
- add support for inhibit-runs and force-one-run trigger files( see below)
- add experimental module for running arbitrary out of tree TAP tests
- Adjust if an upstream repo changes the default branch name (see below)
- add use_discard_caches caches setting (see below)
MSVC animals are now very much simpler to set up, and to upgrade to a
new compiler. Using the new mechanism, as shown in the sample config
file, all that's needed is to specify a location where the standard
script vcvarsall.bat can be found. The script will then run that script
and extract the settings and apply them. Tha means that upgrading to a
new version of Visual Studio would entail just a one line change in the
config file.
If you put a file called [animalname].inhibit-runs in the build root,
all runs will be stopped until the file is removed. If you put a file
called [animalname].force-one-run in the build root, each configured
branch will forced to run once, and the file will be removed. These only
apply if you use the run_branches.pl script.
The client should transparently deal with any change that is made in the
upstream repository's default branch name. This avoids the need for a
flag day when we eventually change the default branch name for
postgresql, as I assume we will do before long. The branch bf_HEAD which
the client creates now refers to the upstream default whatever it might
be, rather than the hardcoded name 'master'. The code of the SCM module
underwent quite a lot of change in order to make this happen; the
checkout code had become quite long and convoluted and I had to refactor
it somewhat before I was able to make and test this change. The changes
have been fairly extensively tested, but I'm still slightly nervous
about them. Owners are asked to report any issues promptly.
the use_discard_caches setting reflects a change in the way postgres
handles this - it's now a runtime setting rather than a compile time
setting. On older branches it sets "-DCLOBBER_CACHE_ALWAYS". If you use
this setting don't use that define.
Downloads are available at
https://github.com/PGBuildFarm/client-code/releases and
https://buildfarm.postgresql.org/downloads