Re: CI, macports, darwin version problems
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Joe Conway <mail@joeconway.com>
Cc: Andres Freund <andres@anarazel.de>,
Nazir Bilal Yavuz <byavuz81@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>, Christophe Pettus <christophe.pettus@pgexperts.com>
Date: 2024-07-25T02:53:53Z
Lists: pgsql-hackers
On Thu, Jul 25, 2024 at 11:35 AM Thomas Munro <thomas.munro@gmail.com> wrote: > Looking good! Thanks. I have now pushed the patch to switch CI to > Sonoma, back-patched as far as 15. Let's see how that goes. I have > also paused the pgx machine for now, until Christophe is available to > help us fix it. Cfbot builds are working nicely on Sonoma. But... unfortunately the github.com/postgres/postgres CI was working for REL_15_STABLE only, and not 16, 17 or master. After scratching my head for a moment, I realised that the new logic for finding the most recent version of MacPorts is now picking up a new beta version of MacPorts that has just been published, and apparently it doesn't work quite right and couldn't install meson. D'oh! I have pushed a fix for that: I went back to requesting 2.9.3 until we are ready to change it. Long version: I had imagined we might one day need to nail down the version in a commented out line already, I just failed to think about non-release versions appearing in the list. An alternative might be to use a pattern that matches stable releases eg [0-9][0-9.]* to exclude stuff like 2.10-beta1 but for now I have cold feet about that lack of control. While thinking about that, it occurred to me that it might also be better if it also re-installs from scratch whenever our script that installs MacPorts changes, so I included its md5 in the cache key. Otherwise it's a bit hard to test, since the cached installation survives across rebuilds by design (that's why cfbot isn't affected, it installed 2.9.3 before they unleashed 2.10-beta1 and cached the result). This way, if someone changes 2.9.3 to 2.whatever in that script, it'll do a fresh installation of MacPorts on the first build in a given github account, and then later builds will work from the cached copy. Seems like desirable behaviour for future maintenance work.
Commits
-
ci: Pin MacPorts version to 2.9.3.
- 541f493dc128 15.8 landed
- daca4f1419e8 16.4 landed
- 5f03da8518ce 17.0 landed
- 64c39bd5047e 18.0 landed
-
ci: Upgrade macOS version from 13 to 14.
- 0151b4d6bdf0 15.8 landed
- 9302f6fa58ba 16.4 landed
- f8c1bb2bb90d 17.0 landed
- d01ce180d9b5 18.0 landed