[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Tue Jan 5 11:22:04 UTC 2016
The branch, master has been updated
via ff94a01 travis: Add metadata file for the Travis CI Open Source cloud build/test service
via 05c3481 autobuild: Use make -j on samba-libs/samba-static build as well
via af89d18 autobuild: Put the static build in another stanza
via cce1612 autobuild: Use cp --recursive --link --archive
via 9a91fce autobuild: Give a clearer failure message
from d60465c build:wafsamba: Use the upstream version of gccdeps
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit ff94a01e19604ae6275672e70edd25121df79bbf
Author: Andrew Bartlett <abartlet at samba.org>
Date: Mon May 4 13:44:45 2015 +1200
travis: Add metadata file for the Travis CI Open Source cloud build/test service
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Tue Jan 5 12:21:40 CET 2016 on sn-devel-144
commit 05c34810a8184a67d2836fcae51ec8de8c4a46fc
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Oct 22 14:57:10 2015 +1300
autobuild: Use make -j on samba-libs/samba-static build as well
We need this build to be fast when split out as a seperate VM
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit af89d18c141b2ea15cd661860db087bc40c0ec20
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Oct 22 10:35:47 2015 +1300
autobuild: Put the static build in another stanza
This will allow it to run on a different VM in travis-ci and so keep
us below the 50min limit.
Because we do not rebuild the libs (and real world static builds are
likely to have internal libs), this changes us to build them
internally.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit cce16123feedfbf0e325182c6e301377d8a60749
Author: Andrew Bartlett <abartlet at samba.org>
Date: Mon Jan 4 14:20:54 2016 +1300
autobuild: Use cp --recursive --link --archive
This works on waf based builds as source files are not modified during the build
TODO: In order to make sure build doesn't influence each other,
we need to add something like:
try:
if options.rebase is not None:
rebase_tree(options.rebase, rebase_branch=options.branch)
+ run_cmd("find -type f | xargs chmod -w", show=True, dir=test_master)
except Exception:
But that means we need to change the way 'make distcheck' works for the
standalone libraries.
For now this will help to reduce the (mem)disk usage of an autobuild a lot.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 9a91fce2deccfe0445363b2a35f2cfb72fdff766
Author: Andrew Bartlett <abartlet at samba.org>
Date: Wed Oct 21 14:35:33 2015 +1300
autobuild: Give a clearer failure message
This helps when autobuild.py is used in --tail mode and
where there is neither e-mail nor access to the logs.tar.gz
Working back to find where the error happened is typically
quite difficult, as many failures are actually due to the
cleanup.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 31 +++++++++++++++++++++++++++++++
script/autobuild.py | 51 +++++++++++++++++++++++++++++++++++++--------------
2 files changed, 68 insertions(+), 14 deletions(-)
create mode 100644 .travis.yml
Changeset truncated at 500 lines:
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..9d12665
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,31 @@
+language: c
+dist: trusty
+
+sudo: true
+
+cache: ccache
+
+# Everything except samba and ctdb (long tests)
+env:
+ - TASK=samba-xc
+ - TASK=samba-ctdb
+ - TASK=samba-libs
+ - TASK=samba-static
+ - TASK=ldb
+ - TASK=tdb
+ - TASK=talloc
+ - TASK=replace
+ - TASK=tevent
+ - TASK=pidl
+
+# Fail everything after the first job fails
+matrix:
+ fast_finish: true
+
+before_install:
+ - sudo apt-get update -qq
+ - sudo apt-get install --assume-yes screen git build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl bison debhelper docbook-xml docbook-xsl flex libaio-dev libbsd-dev libcap-dev libcups2-dev libncurses5-dev libpam0g-dev libpopt-dev libreadline-dev perl perl-modules libparse-yapp-perl pkg-config python-all-dev python-dnspython xsltproc zlib1g-dev autoconf
+
+script:
+ - git fetch --unshallow
+ - ./script/autobuild.py --tail --testbase=/tmp $TASK
diff --git a/script/autobuild.py b/script/autobuild.py
index 2d3af2a..9f0d893 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -26,6 +26,7 @@ builddirs = {
"samba-xc" : ".",
"samba-ctdb" : ".",
"samba-libs" : ".",
+ "samba-static" : ".",
"ldb" : "lib/ldb",
"tdb" : "lib/tdb",
"talloc" : "lib/talloc",
@@ -37,7 +38,7 @@ builddirs = {
"retry" : "."
}
-defaulttasks = [ "ctdb", "samba", "samba-xc", "samba-ctdb", "samba-libs", "ldb", "tdb", "talloc", "replace", "tevent", "pidl" ]
+defaulttasks = [ "ctdb", "samba", "samba-xc", "samba-ctdb", "samba-libs", "samba-static", "ldb", "tdb", "talloc", "replace", "tevent", "pidl" ]
samba_configure_params = " --picky-developer ${PREFIX} --with-profiling-data"
@@ -121,22 +122,23 @@ tasks = {
# retry with all modules shared
("allshared-distclean", "make distclean", "text/plain"),
("allshared-configure", samba_libs_configure_samba + " --with-shared-modules=ALL", "text/plain"),
- ("allshared-make", "make", "text/plain"),
+ ("allshared-make", "make -j", "text/plain")],
- # retry with all modules static
- ("allstatic-distclean", "make distclean", "text/plain"),
- ("allstatic-configure", samba_libs_configure_samba + " --with-static-modules=ALL", "text/plain"),
- ("allstatic-make", "make", "text/plain"),
+ "samba-static" : [
+ ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
+ # build with all modules static
+ ("allstatic-configure", "./configure.developer " + samba_configure_params + " --with-static-modules=ALL", "text/plain"),
+ ("allstatic-make", "make -j", "text/plain"),
# retry without any required modules
("none-distclean", "make distclean", "text/plain"),
- ("none-configure", samba_libs_configure_samba + " --with-static-modules=!FORCED,!DEFAULT --with-shared-modules=!FORCED,!DEFAULT", "text/plain"),
- ("none-make", "make", "text/plain"),
+ ("none-configure", "./configure.developer " + samba_configure_params + " --with-static-modules=!FORCED,!DEFAULT --with-shared-modules=!FORCED,!DEFAULT", "text/plain"),
+ ("none-make", "make -j", "text/plain"),
# retry with nonshared smbd and smbtorture
("nonshared-distclean", "make distclean", "text/plain"),
- ("nonshared-configure", samba_libs_configure_base + " --bundled-libraries=talloc,tdb,pytdb,ldb,pyldb,tevent,pytevent --with-static-modules=ALL --nonshared-binary=smbtorture,smbd/smbd", "text/plain"),
- ("nonshared-make", "make", "text/plain")],
+ ("nonshared-configure", "./configure.developer " + samba_configure_params + " --bundled-libraries=talloc,tdb,pytdb,ldb,pyldb,tevent,pytevent --with-static-modules=ALL --nonshared-binary=smbtorture,smbd/smbd", "text/plain"),
+ ("nonshared-make", "make -j", "text/plain")],
"ldb" : [
("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
@@ -220,7 +222,7 @@ def run_cmd(cmd, dir=".", show=None, output=False, checkfail=True):
class builder(object):
'''handle build of one directory'''
- def __init__(self, name, sequence):
+ def __init__(self, name, sequence, cp=True):
self.name = name
self.dir = builddirs[name]
@@ -243,7 +245,10 @@ class builder(object):
cleanup_list.append(self.prefix)
os.makedirs(self.sdir)
run_cmd("rm -rf %s" % self.sdir)
- run_cmd("git clone --recursive --shared %s %s" % (test_master, self.sdir), dir=test_master, show=True)
+ if cp:
+ run_cmd("cp --recursive --link --archive %s %s" % (test_master, self.sdir), dir=test_master, show=True)
+ else:
+ run_cmd("git clone --recursive --shared %s %s" % (test_master, self.sdir), dir=test_master, show=True)
self.start_next()
def start_next(self):
@@ -282,7 +287,7 @@ class buildlist(object):
os.environ['AUTOBUILD_RANDOM_SLEEP_OVERRIDE'] = '1'
for n in tasknames:
- b = builder(n, tasks[n])
+ b = builder(n, tasks[n], cp=n is not "pidl")
self.tlist.append(b)
if options.retry:
rebase_remote = "rebaseon"
@@ -306,7 +311,7 @@ class buildlist(object):
),
"test/plain" ) ]
- self.retry = builder('retry', retry_task)
+ self.retry = builder('retry', retry_task, cp=False)
self.need_retry = False
def kill_kids(self):
@@ -720,6 +725,24 @@ blist.tarlogs("logs.tar.gz")
if options.email is not None:
email_failure(status, failed_task, failed_stage, failed_tag, errstr,
elapsed_time, log_base=options.log_base)
+else:
+ elapsed_minutes = elapsed_time / 60.0
+ print '''
+
+####################################################################
+
+AUTOBUILD FAILURE
+
+Your autobuild on %s failed after %.1f minutes
+when trying to test %s with the following error:
+
+ %s
+
+the autobuild has been abandoned. Please fix the error and resubmit.
+
+####################################################################
+
+''' % (platform.node(), elapsed_minutes, failed_task, errstr)
cleanup()
print(errstr)
--
Samba Shared Repository
More information about the samba-cvs
mailing list