Re: Cirrus-ci is lowering free CI cycles - what to do with cfbot, etc?

Tristan Partin <tristan@neon.tech>

From: "Tristan Partin" <tristan@neon.tech>
To: "Andres Freund" <andres@anarazel.de>
Cc: <pgsql-hackers@postgresql.org>, "Thomas Munro" <thomas.munro@gmail.com>, "Justin Pryzby" <pryzby@telsasoft.com>
Date: 2023-08-08T15:45:46Z
Lists: pgsql-hackers
On Tue Aug 8, 2023 at 10:38 AM CDT, Andres Freund wrote:
> Hi,
>
> On 2023-08-08 10:25:52 -0500, Tristan Partin wrote:
> > On Mon Aug 7, 2023 at 9:15 PM CDT, Andres Freund wrote:
> > > FWIW: with the patches applied, the "credit costs" in cirrus CI are roughly
> > > like the following (depends on caching etc):
> > > 
> > > task costs in credits
> > > 	linux-sanity: 0.01
> > > 	linux-compiler-warnings: 0.05
> > > 	linux-meson: 0.07
> > > 	freebsd   : 0.08
> > > 	linux-autoconf: 0.09
> > > 	windows   : 0.18
> > > 	macos     : 0.28
> > > total task runtime is 40.8
> > > cost in credits is 0.76, monthly credits of 50 allow approx 66.10 runs/month
> > 
> > I am not in the loop on the autotools vs meson stuff. How much longer do we
> > anticipate keeping autotools around?
>
> I think it depends in what fashion. We've been talking about supporting
> building out-of-tree modules with "pgxs" for at least a 5 year support
> window. But the replacement isn't yet finished [1], so that clock hasn't yet
> started ticking.
>
>
> > Seems like it could be a good opportunity to reduce some CI usage if
> > autotools were finally dropped, but I know there are still outstanding tasks
> > to complete.
> > 
> > Back of the napkin math says autotools is about 12% of the credit cost,
> > though I haven't looked to see if linux-meson and linux-autotools are 1:1.
>
> The autoconf task is actually doing quite useful stuff right now, leaving the
> use of configure aside, as it builds with address sanitizer. Without that it'd
> be a lot faster. But we'd loose, imo quite important, coverage. The tests
> would run a bit faster with meson, but it'd be overall a difference on the
> margins.
> 
> [1] https://github.com/anarazel/postgres/tree/meson-pkgconfig

Makes sense. Please let me know if I can help you out in anyway for the 
v17 development cycle besides what we have already talked about.

-- 
Tristan Partin
Neon (https://neon.tech)



Commits

  1. Use snprintf instead of sprintf in pg_regress.

  2. Speed up pg_regress server readiness testing.

  3. ci: Make compute resources for CI configurable

  4. ci: Prepare to make compute resources for CI configurable

  5. ci: Use VMs for SanityCheck and CompilerWarnings

  6. ci: Move execution method of tasks into yaml templates

  7. ci: Don't specify amount of memory

  8. ci: macos: Remove use of -Dsegsize_blocks=6

  9. ci: macos: Remove use of -DRANDOMIZE_ALLOCATED_MEMORY