Thread: pgsql: ci: Fix cached MacPorts installation management

pgsql: ci: Fix cached MacPorts installation management

From
Andres Freund
Date:
ci: Fix cached MacPorts installation management

1.  The error reporting of "port setrequested list-of-packages..."
changed, hiding errors we were relying on to know if all packages in our
list were already installed.  Use a loop instead.

2.  The cached MacPorts installation was shared between PostgreSQL
major branches, though each branch wanted different packages.  Add the
list of packages to cache key, so that different branches, when tested
in one github account/repo such as postgres/postgres, stop fighting with
each other, adding and removing packages.

Back-patch to 15 where CI began.

Author: Thomas Munro <thomas.munro@gmail.com>
Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Suggested-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/au2uqfuy2nf43nwy2txmc5t2emhwij7kzupygto3d2ffgtrdgr%40ckvrlwyflnh2

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/c93dffd89ba58b1b22faae2d2a9ec95e536c6740

Modified Files
--------------
.cirrus.tasks.yml                    | 34 ++++++++++++++++++----------------
src/tools/ci/ci_macports_packages.sh | 15 +++++++++++----
2 files changed, 29 insertions(+), 20 deletions(-)