summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2019-01-23 09:43:33 +0100
committerRalph Boehme <slow@samba.org>2019-02-11 14:10:12 +0100
commitb1740f3bafc2d460c137ac9f03514d57138d2f7a (patch)
tree5812c6438ce5626b6e2a17362c55fe3435862712 /script
parent09c4e78fefd55d33f9fc2d3c3e1ba092a8cc490a (diff)
downloadsamba-b1740f3bafc2d460c137ac9f03514d57138d2f7a.tar.gz
CI: split out "samba-ad-dc-ntvfs[-py2]" test targets
Many AD tests currently use the "samba" target. Split out a new target "samba-ad-dc-ntvfs" and have all tests that use the "ad_dc_ntvfs" env use the new target. This should greatly speed up the runtime for the "samba" target and avoid swapping. This reduces the total CI time by ~ 55%, I got an autobuild and a gitlab pipeline finished in just ~ 100 mins! Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Ralph Boehme <slow@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Mon Feb 11 14:10:12 CET 2019 on sn-devel-144
Diffstat (limited to 'script')
-rwxr-xr-xscript/autobuild.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/script/autobuild.py b/script/autobuild.py
index 00f0d2202a3..b1bd9d1686c 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -49,6 +49,8 @@ builddirs = {
"samba-none-env": ".",
"samba-ad-dc": ".",
"samba-ad-dc-py2": ".",
+ "samba-ad-dc-ntvfs": ".",
+ "samba-ad-dc-ntvfs-py2": ".",
"samba-ad-dc-2": ".",
"samba-ad-dc-2-py2": ".",
"samba-ad-dc-backup": ".",
@@ -93,8 +95,10 @@ tasks = {
("check-clean-tree", "../script/clean-source-tree.sh", "text/plain"),
("clean", "make clean", "text/plain")],
- # We have 'test' before 'install' because, 'test' should work without 'install (runs ad_dc_ntvfs and all the other envs)'
- "samba": [("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
+ # We have 'test' before 'install' because, 'test' should work without 'install (runs all the other envs)'
+ "samba": [
+ ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
("make", "make -j", "text/plain"),
("test", "make test FAIL_IMMEDIATELY=1 "
"TESTS='${PY3_ONLY}"
@@ -102,6 +106,7 @@ tasks = {
"--exclude-env=nt4_dc "
"--exclude-env=nt4_member "
"--exclude-env=ad_dc "
+ "--exclude-env=ad_dc_ntvfs "
"--exclude-env=ad_dc_no_nss "
"--exclude-env=fl2003dc "
"--exclude-env=fl2008r2dc "
@@ -123,7 +128,6 @@ tasks = {
("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
("clean", "make clean", "text/plain")],
- # We split out this so the isolated nt4_dc tests do not wait for ad_dc or ad_dc_ntvfs tests (which are long)
"samba-nt4": [("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
("configure", "./configure.developer --without-ads --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
("make", "make -j", "text/plain"),
@@ -134,7 +138,6 @@ tasks = {
("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
("clean", "make clean", "text/plain")],
- # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long)
"samba-fileserver": [("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
("configure", "./configure.developer --without-ad-dc --without-ldap --without-ads --without-json --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
("make", "make -j", "text/plain"),
@@ -143,7 +146,6 @@ tasks = {
"--include-env=fileserver'", "text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
- # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long)
"samba-ad-dc": [("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
("make", "make -j", "text/plain"),
@@ -157,7 +159,6 @@ tasks = {
"--include-env=ad_member_idmap_ad'", "text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
- # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long)
"samba-ad-dc-2": [("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
("make", "make -j", "text/plain"),
@@ -171,6 +172,19 @@ tasks = {
"text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
+ # We split out the ad_dc_ntvfs tests (which are long) so other test do not wait
+ # This is currently the longest task, so we don't randomly delay it.
+ "samba-ad-dc-ntvfs": [
+ ("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
+ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
+ ("make", "make -j", "text/plain"),
+ ("test", "make test FAIL_IMMEDIATELY=1 "
+ "TESTS='${PY3_ONLY}"
+ "--include-env=ad_dc_ntvfs "
+ "'",
+ "text/plain"),
+ ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
+
# run the backup/restore testenvs separately as they're fairly standalone
# (and CI seems to max out at ~8 different DCs running at once)
"samba-ad-dc-backup": [("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),