From d13a16cf1eeae70827f59812258239927da7a5da Mon Sep 17 00:00:00 2001 From: Joe Guo Date: Wed, 20 Sep 2017 09:33:27 +1200 Subject: [PATCH 1/5] gitlab-ci: add .gitlab-ci.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add .gitlab-ci.yml file, and define build jobs in groups. Once gitlab-runner set up, builds and tests can be triggered automatically in parallel when push to gitlab. Also, with gitlab-runner autoscale mode, build instances will be created and removed on demand. Signed-off-by: Joe Guo Reviewed-by: Andrew Bartlett Reviewed-by: Ralph Boehme Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue Oct 31 15:32:16 CET 2017 on sn-devel-144 (cherry picked from commit 8be4236b323b5f755ff6c0bf0a4a5fb99343c84d) --- .gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000000..2ae9eb4032d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,47 @@ +# see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options + +before_script: + - echo "Build starting ..." + +build_samba: + stage: build + tags: + - autobuild + script: + # this one takes about 4 hours to finish + - python script/autobuild.py samba --verbose --tail --testbase /tmp/samba-testbase + +build_samba_others: + stage: build + tags: + - autobuild + script: + - python script/autobuild.py samba-nopython --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py samba-systemkrb5 --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py samba-xc --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py samba-o3 --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py samba-libs --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py samba-static --verbose --tail --testbase /tmp/samba-testbase + +build_ctdb: + stage: build + tags: + - autobuild + script: + - python script/autobuild.py samba-ctdb --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py ctdb --verbose --tail --testbase /tmp/samba-testbase + +build_others: + stage: build + tags: + - autobuild + script: + - python script/autobuild.py ldb --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py pidl --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py replace --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py talloc --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py tdb --verbose --tail --testbase /tmp/samba-testbase + - python script/autobuild.py tevent --verbose --tail --testbase /tmp/samba-testbase + +after_script: + - echo "Build finished!" -- 2.11.0 From f02ad9ac0720bcd545e0ae5bd0f0cc086cd0d7f7 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 26 Jun 2018 14:59:26 +1200 Subject: [PATCH 2/5] .gitlab-ci.yml: Adapt to current GitLab CI setup Signed-off-by: Andrew Bartlett (cherry picked from commit fb522c1ba0afa1b2298e66dfde42806cae72e5b9) --- .gitlab-ci.yml => .gitlab-ci-private.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) rename .gitlab-ci.yml => .gitlab-ci-private.yml (92%) diff --git a/.gitlab-ci.yml b/.gitlab-ci-private.yml similarity index 92% rename from .gitlab-ci.yml rename to .gitlab-ci-private.yml index 2ae9eb4032d..584b853c25e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci-private.yml @@ -1,12 +1,15 @@ # see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options +image: registry.gitlab.com/samba-team/samba:latest + before_script: - echo "Build starting ..." build_samba: stage: build tags: - - autobuild + - docker + - private script: # this one takes about 4 hours to finish - python script/autobuild.py samba --verbose --tail --testbase /tmp/samba-testbase @@ -14,7 +17,8 @@ build_samba: build_samba_others: stage: build tags: - - autobuild + - docker + - private script: - python script/autobuild.py samba-nopython --verbose --tail --testbase /tmp/samba-testbase - python script/autobuild.py samba-systemkrb5 --verbose --tail --testbase /tmp/samba-testbase @@ -26,7 +30,8 @@ build_samba_others: build_ctdb: stage: build tags: - - autobuild + - docker + - private script: - python script/autobuild.py samba-ctdb --verbose --tail --testbase /tmp/samba-testbase - python script/autobuild.py ctdb --verbose --tail --testbase /tmp/samba-testbase @@ -34,7 +39,8 @@ build_ctdb: build_others: stage: build tags: - - autobuild + - docker + - private script: - python script/autobuild.py ldb --verbose --tail --testbase /tmp/samba-testbase - python script/autobuild.py pidl --verbose --tail --testbase /tmp/samba-testbase -- 2.11.0 From ba38707a4baaff744c87401cbde8291b9a9b868c Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 23 Nov 2018 12:39:33 +1300 Subject: [PATCH 3/5] gitlab-ci: Remove autobuild tasks not in Samba 4.5 Signed-off-by: Andrew Bartlett Reviewed-by: Gary Lockyer --- .gitlab-ci-private.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci-private.yml b/.gitlab-ci-private.yml index 584b853c25e..2ea2fd727de 100644 --- a/.gitlab-ci-private.yml +++ b/.gitlab-ci-private.yml @@ -20,8 +20,6 @@ build_samba_others: - docker - private script: - - python script/autobuild.py samba-nopython --verbose --tail --testbase /tmp/samba-testbase - - python script/autobuild.py samba-systemkrb5 --verbose --tail --testbase /tmp/samba-testbase - python script/autobuild.py samba-xc --verbose --tail --testbase /tmp/samba-testbase - python script/autobuild.py samba-o3 --verbose --tail --testbase /tmp/samba-testbase - python script/autobuild.py samba-libs --verbose --tail --testbase /tmp/samba-testbase -- 2.11.0 From 43fcd15c9e1de974b8248ee42d6d3fbcf8eb3a93 Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Thu, 28 Dec 2017 11:45:49 +1300 Subject: [PATCH 4/5] selftest: allow more time for tests Maybe make test *should* run in under 4 hours, but it currently doesn't. Signed-off-by: Douglas Bagnall Reviewed-by: Stefan Metzmacher Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Fri Dec 29 02:48:59 CET 2017 on sn-devel-144 (cherry picked from commit a0f810e7e39cde003c9c5e0cb701846472e80a74) --- selftest/selftest.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/selftest/selftest.pl b/selftest/selftest.pl index 4a63a879939..aea9b3e125c 100755 --- a/selftest/selftest.pl +++ b/selftest/selftest.pl @@ -422,8 +422,8 @@ if ($opt_testenv) { # 1 year should be enough :-) $server_maxtime = 365 * 24 * 60 * 60; } else { - # make test should run under 4 hours - $server_maxtime = 4 * 60 * 60; + # make test should run under 5 hours + $server_maxtime = 5 * 60 * 60; } if (defined($ENV{SMBD_MAXTIME}) and $ENV{SMBD_MAXTIME} ne "") { -- 2.11.0 From 08519aff041e27661fd6e2f9db9f4d3f1424f3d2 Mon Sep 17 00:00:00 2001 From: Bob Campbell Date: Wed, 18 Jan 2017 15:55:49 +1300 Subject: [PATCH 5/5] torture/ntlm_auth: do not assume a line is less than 2047 bytes These tests would fail when ran in our cloud. This was due to lines that were more than 2047 bytes in length, causing us to fail readLine with a ReadChildError. This fix lets it read lines of any length, but in 2047 byte segments. Signed-off-by: Bob Campbell Reviewed-by: Garming Sam Reviewed-by: Andrew Bartlett (cherry picked from commit 88e4b71e7856f5f1dc4cebd6d4408c9fd4499178) --- source3/torture/test_ntlm_auth.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/source3/torture/test_ntlm_auth.py b/source3/torture/test_ntlm_auth.py index fffeb2696b2..076019c539b 100755 --- a/source3/torture/test_ntlm_auth.py +++ b/source3/torture/test_ntlm_auth.py @@ -37,10 +37,15 @@ def readLine(pipe): Read a line from the child's pipe, returns the string read. Throws ReadChildError if the read fails. """ - buf = os.read(pipe, 2047) - newline = buf.find('\n') - if newline == -1: - raise ReadChildError() + newline = -1 + buf = "" + while newline == -1: + more = os.read(pipe, 2047) + buf = buf + more + newline = buf.find('\n') + if more == "": + raise ReadChildError() + return buf[:newline] def writeLine(pipe, buf): -- 2.11.0