ci: macos: use cached macports install
authorAndres Freund <andres@anarazel.de>
Sat, 19 Aug 2023 19:40:45 +0000 (12:40 -0700)
committerAndres Freund <andres@anarazel.de>
Sat, 19 Aug 2023 21:38:46 +0000 (14:38 -0700)
commita2a6249cf1a4210caac534e8454a1614d0dd081a
treef77369bcc06f42598dca5f713005cd18feac6411
parent881cd9e581c2c40023f82edcd1cd2335691b78f2
ci: macos: use cached macports install

A significant chunk of the time on the macos CI task is spent installing
packages using homebrew. The downloads of the packages are cached, but the
installation needs to happen every time. We can't cache the whole homebrew
installation, because it is too large due to pre-installed packages.

Speed this up by installing packages using macports and caching the
installation as .dmg. That's a lot faster than unpacking a tarball.

In addition, don't install llvm - it wasn't enabled when building, so it's
just a waste of time/space.

This substantially speeds up the mac CI time, both in the cold cache and in
the warm cache case (the latter from ~1m20s to ~5s).

It doesn't seem great to have diverging sources of packages for CI between
branches, so backpatch to 15 (where CI was added).

Discussion: https://postgr.es/m/20230805202539.r3umyamsnctysdc7@awork3.anarazel.de
Backpatch: 15-, where CI was added
.cirrus.yml
src/tools/ci/ci_macports_packages.sh [new file with mode: 0755]