ci: Add MTEST_SUITES for optional test tailoring
Started by Jelte Fennema-Nio3 days ago1 messages
This was originally submitted as the pytest thread, but Andres validly
pointed out that it should probably not be part of it to reduce the size
of that patchset.
I think it's still useful though, so I'm submitting separately
(eventhough Jacob wrote it).
Attachments:
v1-0001-ci-Add-MTEST_SUITES-for-optional-test-tailoring.patchtext/x-patch; charset=utf-8; name=v1-0001-ci-Add-MTEST_SUITES-for-optional-test-tailoring.patchDownload
From af8bd8487af4e878408606b701070d0feec6c1a6 Mon Sep 17 00:00:00 2001
From: Jacob Champion <jacob.champion@enterprisedb.com>
Date: Tue, 2 Sep 2025 15:37:53 -0700
Subject: [PATCH v1] ci: Add MTEST_SUITES for optional test tailoring
Should make it easier to control the test cycle time for Cirrus. Add the
desired suites (remembering `--suite setup`!) to the top-level envvar.
---
.cirrus.tasks.yml | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index 77d0362a551..fe0d8f806a7 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -27,6 +27,7 @@ env:
# errors/warnings in one place.
MBUILD_TARGET: all testprep
MTEST_ARGS: --print-errorlogs --no-rebuild -C build
+ MTEST_SUITES: # --suite setup --suite ssl --suite ...
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
@@ -247,7 +248,7 @@ task:
su postgres <<-EOF
set -e
ulimit -c unlimited
- meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
+ meson test $MTEST_ARGS --num-processes ${TEST_JOBS} ${MTEST_SUITES}
EOF
# test runningcheck, freebsd chosen because it's currently fast enough
@@ -384,7 +385,7 @@ task:
su postgres <<-EOF
set -e
ulimit -c unlimited
- meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
+ meson test $MTEST_ARGS --num-processes ${TEST_JOBS} ${MTEST_SUITES}
EOF
on_failure:
@@ -599,7 +600,7 @@ task:
su postgres <<-EOF
set -e
ulimit -c unlimited
- meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
+ meson test $MTEST_ARGS --num-processes ${TEST_JOBS} ${MTEST_SUITES}
EOF
# so that we don't upload 64bit logs if 32bit fails
rm -rf build/
@@ -612,7 +613,7 @@ task:
su postgres <<-EOF
set -e
ulimit -c unlimited
- PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS}
+ PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS} ${MTEST_SUITES}
EOF
on_failure:
@@ -733,7 +734,7 @@ task:
test_world_script: |
ulimit -c unlimited # default is 0
ulimit -n 1024 # default is 256, pretty low
- meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
+ meson test $MTEST_ARGS --num-processes ${TEST_JOBS} ${MTEST_SUITES}
on_failure:
<<: *on_failure_meson
@@ -812,7 +813,7 @@ task:
check_world_script: |
vcvarsall x64
- meson test %MTEST_ARGS% --num-processes %TEST_JOBS%
+ meson test %MTEST_ARGS% --num-processes %TEST_JOBS% %MTEST_SUITES%
on_failure:
<<: *on_failure_meson
@@ -873,7 +874,7 @@ task:
upload_caches: ccache
test_world_script: |
- %BASH% -c "meson test %MTEST_ARGS% --num-processes %TEST_JOBS%"
+ %BASH% -c "meson test %MTEST_ARGS% --num-processes %TEST_JOBS% %MTEST_SUITES%"
on_failure:
<<: *on_failure_meson
base-commit: 31ddbb38eeff60ad5353768c7416fea3a0ecafce
--
2.52.0