Re: Guiding principle for dropping LLVM versions?

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@lists.postgresql.org, Xing Guo <higuoxing@gmail.com>, Devrim Gündüz <devrim@gunduz.org>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-10-25T06:11:58Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. jit: Require at least LLVM 14, if enabled.

  2. jit: Require at least LLVM 10.

Thomas Munro <thomas.munro@gmail.com> writes:
> Here are some systematic rules I'd like to propose to anchor this
> stuff to reality and avoid future doubt and litigation:

> 1.  Build farm animals testing LLVM determine the set of OSes and LLVM
> versions we consider.
> 2.  We exclude OSes that will be out of full vendor support when a
> release ships.
> 3.  We exclude OSes that don't bless an LLVM release (eg macOS running
> an arbitrarily picked version), and animals running only to cover
> ancient LLVM compiled from source for coverage (Andres's sid
> menagerie).

Seems generally reasonable.  Maybe rephrase 3 as "We consider only
an OS release's default LLVM version"?  Or a bit more forgivingly,
"... only LLVM versions available from the OS vendor"?  Also,
what's an OS vendor?  You rejected macOS which is fine, but
I think the packages available from MacPorts or Homebrew should
be considered.

You could imagine somebody trying to game the system by standing up a
buildfarm animal running some really arbitrary combination of versions
--- but what would be the point?  I think we can deal with that
when/if it happens.  But "macOS running an LLVM version available
from MacPorts" doesn't seem arbitrary.

			regards, tom lane