Hi, On Tue, 24 Jun 2025 at 23:46, Jacob Champion <jacob.champ...@enterprisedb.com> wrote: > > On Tue, Jun 24, 2025 at 1:27 AM Nazir Bilal Yavuz <byavu...@gmail.com> wrote: > > I think this is a good idea. Another point is that CI images and their > > packages are updated automatically, so it would be easier to catch if > > something breaks when the VM is updated. > > Yes, that's a great point too. Okay, sounds like there is some > interest, and I'll add it to my list of patchsets to try (but if > anyone wants to beat me to it, please go ahead!).
I wanted to experiment with it. First, I got the current list of features from upstream, then disabled the auto features, then explicitly enabled these features. I did this only for FreeBSD to show my idea roughly. There are two patches; 0001 disables auto features for all of the tasks and 0002 explicitly enables these features for FreeBSD. What do you think about this approach? If you are okay with this, I can apply it to all CI tasks (and possibly create another thread for it). -- Regards, Nazir Bilal Yavuz Microsoft
From e57cf4f5a23312d81b13b4f7cbc7bb728b701621 Mon Sep 17 00:00:00 2001 From: Nazir Bilal Yavuz <byavu...@gmail.com> Date: Wed, 25 Jun 2025 10:41:26 +0300 Subject: [PATCH v1 1/2] ci: Disable meson auto features --- .cirrus.tasks.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index 92057006c93..4daaa8ea17b 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -30,6 +30,7 @@ env: PGCTLTIMEOUT: 120 # avoids spurious failures during parallel tests TEMP_CONFIG: ${CIRRUS_WORKING_DIR}/src/tools/ci/pg_ci_base.conf PG_TEST_EXTRA: kerberos ldap ssl libpq_encryption load_balance oauth + MESON_AUTO_FEATURES: disabled # What files to preserve in case tests fail @@ -198,6 +199,7 @@ task: meson setup \ --buildtype=debug \ -Dcassert=true -Dinjection_points=true \ + --auto-features=${MESON_AUTO_FEATURES} \ -Duuid=bsd -Dtcl_version=tcl86 -Ddtrace=auto \ -Dextra_lib_dirs=/usr/local/lib -Dextra_include_dirs=/usr/local/include/ \ build @@ -317,6 +319,7 @@ task: --buildtype=debugoptimized \ --pkg-config-path ${PKGCONFIG_PATH} \ -Dcassert=true -Dinjection_points=true \ + --auto-features=${MESON_AUTO_FEATURES} \ -Dssl=openssl ${UUID} ${TCL} \ -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \ build @@ -508,6 +511,7 @@ task: meson setup \ --buildtype=debug \ -Dcassert=true -Dinjection_points=true \ + --auto-features=${MESON_AUTO_FEATURES} \ ${LINUX_MESON_FEATURES} \ build EOF @@ -520,6 +524,7 @@ task: meson setup \ --buildtype=debug \ -Dcassert=true -Dinjection_points=true \ + --auto-features=${MESON_AUTO_FEATURES} \ ${LINUX_MESON_FEATURES} \ -Dllvm=disabled \ --pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \ @@ -661,6 +666,7 @@ task: -Dextra_include_dirs=/opt/local/include \ -Dextra_lib_dirs=/opt/local/lib \ -Dcassert=true -Dinjection_points=true \ + --auto-features=${MESON_AUTO_FEATURES} \ -Duuid=e2fs -Ddtrace=auto \ build @@ -733,7 +739,7 @@ task: # Use /DEBUG:FASTLINK to avoid high memory usage during linking configure_script: | vcvarsall x64 - meson setup --backend ninja --buildtype debug -Dc_link_args=/DEBUG:FASTLINK -Dcassert=true -Dinjection_points=true -Db_pch=true -Dextra_lib_dirs=c:\openssl\1.1\lib -Dextra_include_dirs=c:\openssl\1.1\include -DTAR=%TAR% build + meson setup --backend ninja --buildtype debug -Dc_link_args=/DEBUG:FASTLINK -Dcassert=true -Dinjection_points=true -Db_pch=true -Dextra_lib_dirs=c:\openssl\1.1\lib -Dextra_include_dirs=c:\openssl\1.1\include --auto-features=%MESON_AUTO_FEATURES% -DTAR=%TAR% build build_script: | vcvarsall x64 @@ -793,7 +799,7 @@ task: # disable -Dnls as the number of files it creates cause a noticable slowdown configure_script: | - %BASH% -c "meson setup -Ddebug=true -Doptimization=g -Dcassert=true -Dinjection_points=true -Db_pch=true -Dnls=disabled -DTAR=%TAR% build" + %BASH% -c "meson setup -Ddebug=true -Doptimization=g -Dcassert=true -Dinjection_points=true -Db_pch=true -Dnls=disabled --auto-features=%MESON_AUTO_FEATURES% -DTAR=%TAR% build" build_script: | %BASH% -c "ninja -C build ${MBUILD_TARGET}" -- 2.49.0
From 248aeacbebc29ddd0a3cb3a816209a0780b854e9 Mon Sep 17 00:00:00 2001 From: Nazir Bilal Yavuz <byavu...@gmail.com> Date: Wed, 25 Jun 2025 11:14:26 +0300 Subject: [PATCH v1 2/2] ci: freebsd: Explicitly enable meson features ci-os-only: freebsd --- .cirrus.tasks.yml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index 4daaa8ea17b..9dab6a1ebdf 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -165,6 +165,29 @@ task: -c debug_parallel_query=regress PG_TEST_PG_UPGRADE_MODE: --link + MESON_FEATURES: >- + -Ddtrace=enabled + -Dtap_tests=enabled + -Ddocs=enabled + -Dgssapi=enabled + -Dicu=enabled + -Dldap=enabled + -Dlibcurl=enabled + -Dlibxml=enabled + -Dlibxslt=enabled + -Dlz4=enabled + -Dnls=enabled + -Dssl=openssl + -Dpam=enabled + -Dplperl=enabled + -Dplpython=enabled + -Dtcl_version=tcl86 + -Dpltcl=enabled + -Dreadline=enabled + -Duuid=bsd + -Dzlib=enabled + -Dzstd=enabled + <<: *freebsd_task_template depends_on: SanityCheck @@ -199,8 +222,7 @@ task: meson setup \ --buildtype=debug \ -Dcassert=true -Dinjection_points=true \ - --auto-features=${MESON_AUTO_FEATURES} \ - -Duuid=bsd -Dtcl_version=tcl86 -Ddtrace=auto \ + --auto-features=${MESON_AUTO_FEATURES} ${MESON_FEATURES} \ -Dextra_lib_dirs=/usr/local/lib -Dextra_include_dirs=/usr/local/include/ \ build EOF -- 2.49.0