tree bfd13bfef3935f97b587897a8010d6371bdfe7de
parent 6130c6b472ae7b20da30c9eec26bbe7f4974055d
author Adam Kocoloski <kocolosk@apache.org> 1642649864 -0500
committer GitHub <noreply@github.com> 1642649864 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJh6NkICRBK7hj4Ov3rIwAA5dEIAB2VNOxZ2M7k3pnGBfef25xB
 U8VFifpivhaxeoxz23X3ZdvrfHteNnrT8jJZFNRljjp6Mf6EWBWLUN6T83ICQFt0
 jw7Ju3eSkOOM+87XPSBoqS1t9gjY/qIniXBI1vjUWrtYdOgyqFJFG9fB/q65UzMU
 dCu0I+pwfHVmUc93QWDvyA+DWuom8z3EXEVvlBQ8vhJ0QdP5Ua1FYwr2uKhRpTz3
 sTYgfzVOAOh3JbpbqaRJHALQCzkTcMuuA7JkJV4ST2USgMUmkRNce2SUFageQstL
 IBrrW7SSNfYnnoUze8rH//J0sVM0/T2Y/cnmV3R31OA2AE7GCirUR0AKJtkSRCE=
 =v1Cz
 -----END PGP SIGNATURE-----
 

Refactor Jenkins build to dynamically generate test stages (#3903)

This is one of those situations where you go in to make a small change,
see an opportunity for some refactoring, and get sucked into a rabbit
hole that leaves you wondering if you have any idea how computers
actually work. My initial goal was simply to update the Erlang version
used in our binary packages to a modern supported release. Along the
way I decided I wanted to figure out how to eliminate all the copypasta
we generate for making any change to this file, and after a few days of
hacking here we are. This rewrite has the following features:

* Updates to use Debian 11 (current stable) as the base image for
  building releases and packaging repos.

* Defaults to Erlang 24.2 as the embedded Erlang version in packages.

* Dynamically generates the parallel build stages used to test and
  package CouchDB on various OSes. This is accomplished through a bit
  of scripted pipeline code that relies on two new methods defined at
  the beginning of the Jenkinsfile, one for "native" builds on macOS
  and FreeBSD and one for container-based builds. See comments in the
  Jenkinsfile for additional details.

* Expands commands like `make check` into a series of steps to improve
  visibility. The Jenkins UI will now show the time spent in each step
  of the build process, and if a step (e.g. `make eunit`) fails it will
  only expand the logs for that step by default instead of showing the
  logs for the entire build stage. The downside is that if we do make
  changes to the series of targets underneath `check` we need to
  remember to update the Jenkinsfile as well.

* Starts per-stage timer _after_ agent is acquired. Previously builds could
  fail with a 15m timeout when all they did was sit in the build queue.