On 02.07.25 09:22, Nazir Bilal Yavuz wrote:
> One thing I’m unsure about the patch is that all these features are
> stored in the MESON_FEATURES environment variable in each task. I
> wonder if it might be clearer to rename these variables to
> ${TASK_NAME}_MESON_FEATURES to avoid confusion.
I would hope we could do this without so much repetition. Why not a
global variable and then have each task override as needed?
(It would also be nice to extra the corresponding configure arguments
into a similar variable, so we can easily keep this aligned.)
Here is a sketch of what I mean:
env:
...
PG_TEST_EXTRA: ...
MESON_COMMON_ARGS: -Dauto_features=disabled -Ddocs=enabled ...
CONFIGURE_COMMON_ARGS: --with-gssapi --with-icu --with-ldap ...
...
configure_script: |
su postgres <<-EOF
meson setup \
${MESON_COMMON_ARGS} -Dpltcl=disabled \
--buildtype=debugoptimized \
--pkg-config-path ${PKGCONFIG_PATH} \
-Dcassert=true -Dinjection_points=true \
-Dssl=openssl ${UUID} ${TCL} \
-DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
build
EOF
(There are additional opportunities to refactor this, such as the
-DPG_TEST_EXTRA option that is repeated everywhere.)