From fdc7a26471d8bbcb40db23c3d7b81514f56cba35 Mon Sep 17 00:00:00 2001 From: "Paul J. Davis" Date: Wed, 28 Feb 2018 16:35:30 -0600 Subject: Increase timeout for storage engine tests The compaction test takes quite a long time on purpose to show that we can run a compaction that has many batches. On resource constrained build machines like Jenkins and TravisCI this can end up taking longer than the default 5s timeout. --- src/couch/src/test_engine_util.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/couch/src/test_engine_util.erl b/src/couch/src/test_engine_util.erl index c81acd03d..790fe30fe 100644 --- a/src/couch/src/test_engine_util.erl +++ b/src/couch/src/test_engine_util.erl @@ -58,7 +58,7 @@ gather(Module) -> case {atom_to_list(Fun), Arity} of {[$c, $e, $t, $_ | _], 0} -> TestFun = make_test_fun(Module, Fun), - [{spawn, TestFun} | Acc]; + [{timeout, 60, {spawn, TestFun}} | Acc]; _ -> Acc end -- cgit v1.2.1 From 51cb6aecc42eaa12058113003a3b4af7234250a8 Mon Sep 17 00:00:00 2001 From: Joan Touzet Date: Fri, 2 Mar 2018 11:51:17 -0500 Subject: Eliminate "default" Erlang platform from Jenkins CI Currently, we run Jenkins CI builds on 11 platforms: Erlang 18.3 + [centos6|centos7|debian8|debian9|ubuntu1404|ubuntu1604] "Default" (ships-with-the-distro) Erlang + [same list but not centos6] The intent was ensure that CouchDB ran fine both with our preferred Erlang version (right now, 18.3) as well as the Erlang that ships with various common distributions. This would help ease consumption of CouchDB by end users, we thought. With CouchDB 2.1.0 we started providing convenience binary packages, built with Erlang 18.3. This (along with Docker) has become the most common way people consume CouchDB today. Those binaries are generated directly from the Jenkins builds. Further, Travis CI already runs our test suite against a variety of Erlang distributions, from 16B03 right through 20.1 (as of today). There is little value in the extra Jenkins runs at this point, beyond catching any vagaries of distro-specific Erlang weirdness that we would probably wash our hands of anyway. This change removes 5 of our 11 platform builds. This will be valuable as we move towards regression testing other platforms (ppc64le, arm). It also lightens our load on the ASF Jenkins infrastructure. NOTE that we will still need to maintain the Docker image for ubuntu1404erlangdefault, as this contains 16B03, the earliest version of Erlang that we support. The initial "Build" step in our Jenkins run uses this to build the couchdb.tar.gz dist tarball, which is then compiled and tested on each platform during the "Test" step. --- Jenkinsfile | 117 ------------------------------------------------------------ 1 file changed, 117 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 221e96f45..905a85f29 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -118,31 +118,6 @@ pipeline { deleteDir() } // node }, - centos7erlangdefault: { - node(label: 'ubuntu') { - timeout(time: 45, unit: "MINUTES") { - sh 'docker pull couchdbdev/centos-7-erlang-default' - withDockerContainer(image: 'couchdbdev/centos-7-erlang-default', args: '-e LD_LIBRARY_PATH=/usr/local/bin') { - sh 'rm -f apache-couchdb-*.tar.gz' - unstash 'tarball' - sh ''' - cwd=$(pwd) - mkdir -p $COUCHDB_IO_LOG_DIR - - # Build CouchDB from tarball - builddir=$(mktemp -d) - cd $builddir - tar -xf $cwd/apache-couchdb-*.tar.gz - cd apache-couchdb-* - ./configure --with-curl - make all - make check || (build-aux/logfile-uploader.py && false) - ''' - } // withDocker - } // timeout - deleteDir() - } // node - }, centos7erlang183: { node(label: 'ubuntu') { timeout(time: 60, unit: "MINUTES") { @@ -183,29 +158,6 @@ pipeline { deleteDir() } // node }, - ubuntu1404erlangdefault: { - node(label: 'ubuntu') { - timeout(time: 45, unit: "MINUTES") { - sh 'docker pull couchdbdev/ubuntu-14.04-erlang-default' - withDockerContainer(image: 'couchdbdev/ubuntu-14.04-erlang-default') { - sh 'rm -f apache-couchdb-*.tar.gz' - unstash 'tarball' - sh ''' - cwd=$(pwd) - mkdir -p $COUCHDB_IO_LOG_DIR - builddir=$(mktemp -d) - cd $builddir - tar -xf $cwd/apache-couchdb-*.tar.gz - cd apache-couchdb-* - ./configure --with-curl - make all - make check || (build-aux/logfile-uploader.py && false) - ''' - } // withDocker - } // timeout - deleteDir() - } // node - }, ubuntu1404erlang183: { node(label: 'ubuntu') { timeout(time: 60, unit: "MINUTES") { @@ -246,29 +198,6 @@ pipeline { deleteDir() } // node }, - ubuntu1604erlangdefault: { - node(label: 'ubuntu') { - timeout(time: 45, unit: "MINUTES") { - sh 'docker pull couchdbdev/ubuntu-16.04-erlang-default' - withDockerContainer(image: 'couchdbdev/ubuntu-16.04-erlang-default') { - sh 'rm -f apache-couchdb-*.tar.gz' - unstash 'tarball' - sh ''' - cwd=$(pwd) - mkdir -p $COUCHDB_IO_LOG_DIR - builddir=$(mktemp -d) - cd $builddir - tar -xf $cwd/apache-couchdb-*.tar.gz - cd apache-couchdb-* - ./configure --with-curl - make all - make check || (build-aux/logfile-uploader.py && false) - ''' - } // withDocker - } // timeout - deleteDir() - } // node - }, ubuntu1604erlang183: { node(label: 'ubuntu') { timeout(time: 60, unit: "MINUTES") { @@ -309,29 +238,6 @@ pipeline { deleteDir() } // node }, - debian8erlangdefault: { - node(label: 'ubuntu') { - timeout(time: 45, unit: "MINUTES") { - sh 'docker pull couchdbdev/debian-8-erlang-default' - withDockerContainer(image: 'couchdbdev/debian-8-erlang-default') { - sh 'rm -f apache-couchdb-*.tar.gz' - unstash 'tarball' - sh ''' - cwd=$(pwd) - mkdir -p $COUCHDB_IO_LOG_DIR - builddir=$(mktemp -d) - cd $builddir - tar -xf $cwd/apache-couchdb-*.tar.gz - cd apache-couchdb-* - ./configure --with-curl - make all - make check || (build-aux/logfile-uploader.py && false) - ''' - } // withDocker - } // timeout - deleteDir() - } // node - }, debian8erlang183: { node(label: 'ubuntu') { timeout(time: 60, unit: "MINUTES") { @@ -372,29 +278,6 @@ pipeline { deleteDir() } // node }, - debian9erlangdefault: { - node(label: 'ubuntu') { - timeout(time: 45, unit: "MINUTES") { - sh 'docker pull couchdbdev/debian-9-erlang-default' - withDockerContainer(image: 'couchdbdev/debian-9-erlang-default') { - sh 'rm -f apache-couchdb-*.tar.gz' - unstash 'tarball' - sh ''' - cwd=$(pwd) - mkdir -p $COUCHDB_IO_LOG_DIR - builddir=$(mktemp -d) - cd $builddir - tar -xf $cwd/apache-couchdb-*.tar.gz - cd apache-couchdb-* - ./configure --with-curl - make all - make check || (build-aux/logfile-uploader.py && false) - ''' - } // withDocker - } // timeout - deleteDir() - } // node - }, debian9erlang183: { node(label: 'ubuntu') { timeout(time: 60, unit: "MINUTES") { -- cgit v1.2.1