You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by mm...@apache.org on 2021/10/26 01:12:06 UTC

[bookkeeper] branch master updated: Remove no longer used Jenkins scripts and TravisCI references (#2848)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 4ae5b3b  Remove no longer used Jenkins scripts and TravisCI references (#2848)
4ae5b3b is described below

commit 4ae5b3b5a6bf5a13ea73a2f6157a56ad22ec4ebe
Author: Nicolò Boschi <bo...@gmail.com>
AuthorDate: Tue Oct 26 03:11:59 2021 +0200

    Remove no longer used Jenkins scripts and TravisCI references (#2848)
    
    * Remove deprecated Jenkinsfile
    
    * Remove Jenkins job, Travis refs, update doc/website for contributions
    
    * readd newline
---
 .test-infra/jenkins/common_job_properties.groovy   | 263 ---------------------
 .../jenkins/jenkins_testing_job_seed.groovy        |  55 -----
 .../jenkins/job_bookkeeper_codecoverage.groovy     |  43 ----
 .../job_bookkeeper_postcommit_master_java11.groovy |  43 ----
 .../job_bookkeeper_postcommit_master_java8.groovy  |  43 ----
 .../job_bookkeeper_postcommit_master_python.groovy |  52 ----
 ..._bookkeeper_postcommit_validation_master.groovy |  43 ----
 .../job_bookkeeper_postcommit_website.groovy       |  84 -------
 ...eper_release_branch_410_integrationtests.groovy |  77 ------
 .../job_bookkeeper_release_branch_410_java8.groovy |  40 ----
 .../job_bookkeeper_release_branch_410_java9.groovy |  40 ----
 ...eper_release_branch_411_integrationtests.groovy |  77 ------
 .../job_bookkeeper_release_branch_411_java8.groovy |  40 ----
 .../job_bookkeeper_release_branch_411_java9.groovy |  40 ----
 ...eeper_release_branch_49_integrationtests.groovy |  77 ------
 .../job_bookkeeper_release_branch_49_java8.groovy  |  40 ----
 .../job_bookkeeper_release_branch_49_java9.groovy  |  40 ----
 .../job_bookkeeper_release_nightly_snapshot.groovy |  73 ------
 .test-infra/jenkins/job_seed.grrovy.bak            |  46 ----
 Jenkinsfile                                        |  79 -------
 README.md                                          |   2 -
 bookkeeper-dist/build.gradle                       |   1 -
 bookkeeper-dist/src/assemble/src.xml               |   2 -
 site/community/testing.md                          |  43 +---
 site2/docs/testing-guide.md                        |  43 +---
 stream/.travis.yml                                 |  39 ---
 26 files changed, 10 insertions(+), 1415 deletions(-)

diff --git a/.test-infra/jenkins/common_job_properties.groovy b/.test-infra/jenkins/common_job_properties.groovy
deleted file mode 100644
index e38bd9a..0000000
--- a/.test-infra/jenkins/common_job_properties.groovy
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Contains functions that help build Jenkins projects. Functions typically set
-// common properties that are shared among all Jenkins projects.
-// Code in this directory should conform to the Groovy style guide.
-//  http://groovy-lang.org/style-guide.html
-class common_job_properties {
-
-  // Sets common top-level job properties for website repository jobs.
-  static void setTopLevelWebsiteJobProperties(context,
-                                              String branch = 'master') {
-    // GitHub project.
-    context.properties {
-      githubProjectUrl('https://jenkins@github.com/apache/bookkeeper/')
-    }
-
-    setTopLevelJobProperties(
-            context,
-            'https://gitbox.apache.org/repos/asf/bookkeeper.git',
-            branch,
-            'git-websites',
-            120)
-  }
-
-  // Sets common top-level job properties for main repository jobs.
-  static void setTopLevelMainJobProperties(context,
-                                           String branch = 'master',
-                                           String jdkVersion = 'JDK 1.8 (latest)',
-                                           int timeout = 200,
-                                           String jenkinsExecutorLabel = 'ubuntu',
-                                           String branchVarName = '${sha1}') {
-    // GitHub project.
-    context.properties {
-      githubProjectUrl('https://github.com/apache/bookkeeper/')
-    }
-
-
-    setTopLevelJobProperties(
-            context,
-            'https://github.com/apache/bookkeeper.git',
-            branch,
-            jenkinsExecutorLabel,
-            timeout,
-            jdkVersion,
-            branchVarName)
-  }
-
-  // Sets common top-level job properties. Accessed through one of the above
-  // methods to protect jobs from internal details of param defaults.
-  private static void setTopLevelJobProperties(context,
-                                               String scmUrl,
-                                               String defaultBranch,
-                                               String jenkinsExecutorLabel,
-                                               int defaultTimeout,
-                                               String jdkVersion = 'JDK 1.8 (latest)',
-                                               String branchVarName = '${sha1}') {
-    // Set JDK version.
-    context.jdk(jdkVersion)
-
-    // Restrict this project to run only on Jenkins executors as specified
-    context.label(jenkinsExecutorLabel)
-
-    // Discard old builds. Build records are only kept up to this number of days.
-    context.logRotator {
-      daysToKeep(14)
-    }
-
-    // Source code management.
-    context.scm {
-      git {
-        remote {
-          url(scmUrl)
-          refspec('+refs/heads/*:refs/remotes/origin/* ' +
-                  '+refs/pull/${ghprbPullId}/*:refs/remotes/origin/pr/${ghprbPullId}/*')
-        }
-        branch(branchVarName)
-        extensions {
-          cleanAfterCheckout()
-        }
-      }
-    }
-
-    // add the parameter when branch var name is `sha1`
-    if (branchVarName == '${sha1}') {
-      context.parameters {
-        // This is a recommended setup if you want to run the job manually. The
-        // ${sha1} parameter needs to be provided, and defaults to the main branch.
-        stringParam(
-            'sha1',
-            defaultBranch,
-            'Commit id or refname (eg: origin/pr/9/head) you want to build.')
-      }
-    }
-
-    context.wrappers {
-      // Abort the build if it's stuck for more minutes than specified.
-      timeout {
-        absolute(defaultTimeout)
-        abortBuild()
-      }
-
-      credentialsBinding {
-        string("COVERALLS_REPO_TOKEN", "bookkeeper-coveralls-token")
-        usernamePassword('DOCKER_USER', 'DOCKER_PASSWORD', 'bookkeeper_dockerhub')
-      }
-    }
-  }
-
-  // Sets the pull request build trigger. Accessed through precommit methods
-  // below to insulate callers from internal parameter defaults.
-  private static void setPullRequestBuildTrigger(context,
-                                                 String commitStatusContext,
-                                                 String prTriggerPhrase = '',
-                                                 String prSkipBuildPhrase = '',
-                                                 boolean onlyMaster = false) {
-    context.triggers {
-      githubPullRequest {
-        admins(['asfbot'])
-        useGitHubHooks()
-        orgWhitelist(['apache'])
-        allowMembersOfWhitelistedOrgsAsAdmin()
-        permitAll()
-        // prTriggerPhrase is the argument which gets set when we want to allow
-        // post-commit builds to run against pending pull requests. This block
-        // overrides the default trigger phrase with the new one. Setting this
-        // will disable automatic invocation of this build; the phrase will be
-        // required to start it.
-        if (prTriggerPhrase) {
-          triggerPhrase(prTriggerPhrase)
-        }
-        if (prSkipBuildPhrase) {
-          skipBuildPhrase(prSkipBuildPhrase)
-        }
-        if (onlyMaster) {
-          whiteListTargetBranches(['master'])
-        }
-
-        extensions {
-          commitStatus {
-            // This is the name that will show up in the GitHub pull request UI
-            // for this Jenkins project.
-            delegate.context("Jenkins: " + commitStatusContext)
-          }
-        }
-      }
-    }
-    // Comment messages after build completes.
-    context.configure {
-      def messages = it / triggers / 'org.jenkinsci.plugins.ghprb.GhprbTrigger' / extensions / 'org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildStatus' / messages
-      messages << 'org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage' {
-        message('--none--')
-        result('SUCCESS')
-      }
-      messages << 'org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage' {
-        message('--none--')
-        result('ERROR')
-      }
-      messages << 'org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage' {
-        message('--none--')
-        result('FAILURE')
-      }
-    }
-  }
-
-  // Sets common config for Maven jobs.
-  static void setMavenConfig(context, mavenInstallation='Maven 3.6.2', mavenOpts='-Xmx4096m -Xms2048m') {
-    context.mavenInstallation(mavenInstallation)
-    context.mavenOpts('-Dorg.slf4j.simpleLogger.showDateTime=true')
-    context.mavenOpts('-Dorg.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd\\\'T\\\'HH:mm:ss.SSS')
-    // The -XX:+TieredCompilation -XX:TieredStopAtLevel=1 JVM options enable
-    // tiered compilation to make the JVM startup times faster during the tests.
-    context.mavenOpts('-XX:+TieredCompilation')
-    context.mavenOpts('-XX:TieredStopAtLevel=1')
-    context.mavenOpts(mavenOpts)
-    context.rootPOM('pom.xml')
-    // Use a repository local to the workspace for better isolation of jobs.
-    context.localRepository(LocalRepositoryLocation.LOCAL_TO_WORKSPACE)
-    // Disable archiving the built artifacts by default, as this is slow and flaky.
-    // We can usually recreate them easily, and we can also opt-in individual jobs
-    // to artifact archiving.
-    if (context.metaClass.respondsTo(context, 'archivingDisabled', boolean)) {
-      context.archivingDisabled(true)
-    }
-  }
-
-  // Sets common config for PreCommit jobs.
-  static void setPreCommit(context,
-                           String commitStatusName,
-                           String prTriggerPhrase = '',
-                           String prSkipBuildPhrase = '',
-                           boolean onlyMaster = false) {
-    // Set pull request build trigger.
-    setPullRequestBuildTrigger(context, commitStatusName, prTriggerPhrase, prSkipBuildPhrase, onlyMaster)
-  }
-
-  // Enable triggering postcommit runs against pull requests. Users can comment the trigger phrase
-  // specified in the postcommit job and have the job run against their PR to run
-  // tests not in the presubmit suite for additional confidence.
-  static void enablePhraseTriggeringFromPullRequest(context,
-                                                    String commitStatusName,
-                                                    String prTriggerPhrase) {
-    setPullRequestBuildTrigger(
-      context,
-      commitStatusName,
-      prTriggerPhrase)
-  }
-
-  // Sets common config for PostCommit jobs.
-  static void setPostCommit(context,
-                            String buildSchedule = '0 */6 * * *',
-                            boolean triggerEveryPush = true,
-                            String notifyAddress = 'issues@bookkeeper.apache.org',
-                            boolean emailIndividuals = true) {
-    // Set build triggers
-    context.triggers {
-      // By default runs every 6 hours.
-      cron(buildSchedule)
-      if (triggerEveryPush) {
-        githubPush()
-      }
-    }
-
-    context.publishers {
-      // Notify an email address for each failed build (defaults to commits@).
-      mailer(notifyAddress, false, emailIndividuals)
-    }
-  }
-
-  // Sets common config for Website PostCommit jobs.
-  static void setWebsitePostCommit(context,
-                                   String buildSchedule = 'H 1 * * *',
-                                   String notifyAddress = 'issues@bookkeeper.apache.org',
-                                   boolean emailIndividuals = true) {
-    // Set build triggers
-    context.triggers {
-      // By default runs every 6 hours.
-      scm(buildSchedule)
-      githubPush()
-    }
-
-    context.publishers {
-      // Notify an email address for each failed build (defaults to commits@).
-      mailer(notifyAddress, false, emailIndividuals)
-    }
-  }
-
-}
diff --git a/.test-infra/jenkins/jenkins_testing_job_seed.groovy b/.test-infra/jenkins/jenkins_testing_job_seed.groovy
deleted file mode 100644
index a4cb50a..0000000
--- a/.test-infra/jenkins/jenkins_testing_job_seed.groovy
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-job('bookkeeper-jenkins-testing-seed') {
-  description('Seed job, which allows DSL jobs to be tested before being pushed for review')
-
-  // Source code management.
-  scm {
-    git {
-      remote {
-        url('${gitrepo}')
-        refspec('+refs/heads/*:refs/remotes/origin/*')
-      }
-      branch('${sha1}')
-      extensions {
-        cleanAfterCheckout()
-      }
-    }
-  }
-
-  parameters {
-    stringParam(
-      'gitrepo', 'https://github.com/apache/bookkeeper/', 'Repo to clone')
-
-    stringParam(
-      'sha1',
-      'master',
-      'Commit id or refname (eg: origin/pr/9/head) you want to build.')
-  }
-
-  steps {
-    dsl {
-      // A list or a glob of other groovy files to process.
-      external('.test-infra/jenkins/jenkins_testing_job_*.groovy')
-      lookupStrategy('SEED_JOB')
-      // If a job is removed from the script, delete it
-      removeAction('DELETE')
-    }
-  }
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_codecoverage.groovy b/.test-infra/jenkins/job_bookkeeper_codecoverage.groovy
deleted file mode 100644
index 8beb627..0000000
--- a/.test-infra/jenkins/job_bookkeeper_codecoverage.groovy
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job deploys a snapshot of latest master to artifactory nightly
-mavenJob('bookkeeper_codecoverage') {
-  description('runs a `mvn clean verify` of the nightly snapshot for bookkeeper,\n\
-                running tests and gathering code coverage metrics.')
-
-  // clean up the workspace before build
-  wrappers { preBuildCleanup() }
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(delegate)
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean verify jacoco:report coveralls:report -Pcode-coverage -DrepoToken=$COVERALLS_REPO_TOKEN -Dmaven.test.failure.ignore=true ')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_postcommit_master_java11.groovy b/.test-infra/jenkins/job_bookkeeper_postcommit_master_java11.groovy
deleted file mode 100644
index 89c4e21..0000000
--- a/.test-infra/jenkins/job_bookkeeper_postcommit_master_java11.groovy
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 9
-mavenJob('bookkeeper_postcommit_master_java11') {
-  description('Runs nightly build for bookkeeper in Java 11.')
-
-  // clean up the workspace before build
-  wrappers { preBuildCleanup() }
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'master', 'JDK 11 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean package spotbugs:check -Ddistributedlog -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_postcommit_master_java8.groovy b/.test-infra/jenkins/job_bookkeeper_postcommit_master_java8.groovy
deleted file mode 100644
index 5d425ab..0000000
--- a/.test-infra/jenkins/job_bookkeeper_postcommit_master_java8.groovy
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 8
-mavenJob('bookkeeper_postcommit_master_java8') {
-  description('Runs nightly build for bookkeeper in Java 8.')
-
-  // clean up the workspace before build
-  wrappers { preBuildCleanup() }
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'master', 'JDK 1.8 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean package spotbugs:check -Ddistributedlog  -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_postcommit_master_python.groovy b/.test-infra/jenkins/job_bookkeeper_postcommit_master_python.groovy
deleted file mode 100644
index 38be2e3..0000000
--- a/.test-infra/jenkins/job_bookkeeper_postcommit_master_python.groovy
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs postcommit tests on python client
-freeStyleJob('bookkeeper_postcommit_master_python') {
-  description('Runs nightly build for bookkeeper python client.')
-
-  // clean up the workspace before build
-  wrappers { preBuildCleanup() }
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'master', 'JDK 1.8 (latest)')
-
-  throttleConcurrentBuilds {
-    // limit builds to 1 per node to avoid conflicts on building docker images
-    maxPerNode(1)
-  }
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  steps {
-    shell('.test-infra/scripts/pre-docker-tests.sh')
-    shell('docker pull python:3.7')
-    shell('docker pull python:3.6')
-    shell('docker pull python:3.5')
-    shell('docker pull python:2.7')
-    shell('./stream/clients/python/scripts/test.sh')
-    shell('.test-infra/scripts/post-docker-tests.sh')
-  }
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_postcommit_validation_master.groovy b/.test-infra/jenkins/job_bookkeeper_postcommit_validation_master.groovy
deleted file mode 100644
index 569a934..0000000
--- a/.test-infra/jenkins/job_bookkeeper_postcommit_validation_master.groovy
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit validation on master branch
-mavenJob('bookkeeper_postcommit_validation_master') {
-  description('Runs postcommit validation nightly for bookkeeper.')
-
-  // clean up the workspace before build
-  wrappers { preBuildCleanup() }
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'master', 'JDK 1.8 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check checkstyle:check package -Ddistributedlog  -DskipTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_postcommit_website.groovy b/.test-infra/jenkins/job_bookkeeper_postcommit_website.groovy
deleted file mode 100644
index f99cb42..0000000
--- a/.test-infra/jenkins/job_bookkeeper_postcommit_website.groovy
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job builds and publishes the website
-job('bookkeeper_postcommit_publish_website') {
-  description('Publish website to asf-site branch')
-
-  // clean up the workspace before build
-  wrappers { preBuildCleanup() }
-
-  // Set common parameters.
-  common_job_properties.setTopLevelWebsiteJobProperties(delegate)
-
-  // Sets that this is a WebsitePostCommit job.
-  common_job_properties.setWebsitePostCommit(delegate)
-
-  steps {
-    // Run the following shell script as a build step.
-    shell '''
-export MAVEN_HOME=/home/jenkins/tools/maven/latest
-export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
-export MAVEN_OPTS=-Xmx2048m
-export JEKYLL_ENV=production
-
-# CD site/
-cd site
-
-# Build the javadoc
-make clean
-
-# generate javadoc
-make javadoc
-
-# run the docker image to build the website
-./docker/ci.sh
-
-# publish website
-source scripts/common.sh
-
-ORIGIN_REPO=$(git remote show origin | grep 'Push  URL' | awk -F// '{print $NF}')
-echo "ORIGIN_REPO: $ORIGIN_REPO"
-
-(
-  cd $APACHE_GENERATED_DIR
-
-  rm -rf $TMP_DIR
-  mkdir -p $TMP_DIR
-  cd $TMP_DIR
-
-  # clone the remote repo
-  git clone "https://$ORIGIN_REPO" .
-  git config user.name "Apache BookKeeper Site Updater"
-  git config user.email "dev@bookkeeper.apache.org"
-  git fetch origin
-  git checkout asf-site
-  git log | head
-  # copy the apache generated dir
-  cp -r $APACHE_GENERATED_DIR/content/* $TMP_DIR/content
-
-  git add -A .
-  git diff-index --quiet HEAD || (git commit -m "Updated site at revision $REVISION" && (git log | head) && git push -q origin HEAD:asf-site)
-
-  rm -rf $TMP_DIR
-)
-    '''.stripIndent().trim()
-  }
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_410_integrationtests.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_410_integrationtests.groovy
deleted file mode 100644
index 5a06c98..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_410_integrationtests.groovy
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This is the Java postcommit which runs a maven install, and the current set of precommit tests.
-freeStyleJob('bookkeeper_release_branch_410_integrationtests') {
-    description('Run integration tests on bookkeeper branch-4.10.')
-
-    // Set common parameters.
-    common_job_properties.setTopLevelMainJobProperties(
-        delegate,
-        'branch-4.10',
-        'JDK 1.8 (latest)',
-        120)
-
-    // Sets that this is a PostCommit job.
-    common_job_properties.setPostCommit(
-        delegate,
-        'H 12 * * *',
-        false)
-
-    steps {
-        // Temporary information gathering to see if full disks are causing the builds to flake
-        shell('id')
-        shell('ulimit -a')
-        shell('pwd')
-        shell('df -Th')
-        shell('ps -eo euser,pid,ppid,pgid,start,pcpu,pmem,cmd')
-        shell('docker network prune -f --filter name=testnetwork_*') // clean up any dangling networks from previous runs
-        shell('docker system events > docker.log & echo $! > docker-log.pid')
-
-        shell('docker pull apachebookkeeper/bookkeeper-all-released-versions:latest')
-
-        // Build everything
-        maven {
-            // Set Maven parameters.
-            common_job_properties.setMavenConfig(delegate)
-
-            goals('-B clean install -Pdocker')
-            properties(skipTests: true, interactiveMode: false)
-        }
-
-        maven {
-            // Set Maven parameters.
-            common_job_properties.setMavenConfig(delegate)
-            rootPOM('tests/pom.xml')
-            goals('-B test -DintegrationTests')
-        }
-
-        shell('kill $(cat docker-log.pid) || true')
-    }
-
-    publishers {
-        archiveArtifacts {
-            allowEmpty(true)
-            pattern('**/target/container-logs/**')
-            pattern('docker.log')
-        }
-        archiveJunit('**/surefire-reports/TEST-*.xml')
-    }
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_410_java8.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_410_java8.groovy
deleted file mode 100644
index 88ec435..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_410_java8.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 8 for branch-4.10
-mavenJob('bookkeeper_release_branch_410_java8') {
-  description('Runs nightly build for bookkeeper branch-4.10 in Java 8.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'branch-4.10', 'JDK 1.8 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check package spotbugs:check -Ddistributedlog -Dstream -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_410_java9.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_410_java9.groovy
deleted file mode 100644
index 642d0b0..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_410_java9.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 9 for branch-4.10
-mavenJob('bookkeeper_release_branch_410_java9') {
-  description('Runs nightly build for bookkeeper branch-4.10 in Java 9.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'branch-4.10', 'JDK 1.9 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check package spotbugs:check -Ddistributedlog -Dstream -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_411_integrationtests.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_411_integrationtests.groovy
deleted file mode 100644
index 55353a6..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_411_integrationtests.groovy
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This is the Java postcommit which runs a maven install, and the current set of precommit tests.
-freeStyleJob('bookkeeper_release_branch_411_integrationtests') {
-    description('Run integration tests on bookkeeper branch-4.11.')
-
-    // Set common parameters.
-    common_job_properties.setTopLevelMainJobProperties(
-        delegate,
-        'branch-4.11',
-        'JDK 1.8 (latest)',
-        120)
-
-    // Sets that this is a PostCommit job.
-    common_job_properties.setPostCommit(
-        delegate,
-        'H 12 * * *',
-        false)
-
-    steps {
-        // Temporary information gathering to see if full disks are causing the builds to flake
-        shell('id')
-        shell('ulimit -a')
-        shell('pwd')
-        shell('df -Th')
-        shell('ps -eo euser,pid,ppid,pgid,start,pcpu,pmem,cmd')
-        shell('docker network prune -f --filter name=testnetwork_*') // clean up any dangling networks from previous runs
-        shell('docker system events > docker.log & echo $! > docker-log.pid')
-
-        shell('docker pull apachebookkeeper/bookkeeper-all-released-versions:latest')
-
-        // Build everything
-        maven {
-            // Set Maven parameters.
-            common_job_properties.setMavenConfig(delegate)
-
-            goals('-B clean install -Pdocker')
-            properties(skipTests: true, interactiveMode: false)
-        }
-
-        maven {
-            // Set Maven parameters.
-            common_job_properties.setMavenConfig(delegate)
-            rootPOM('tests/pom.xml')
-            goals('-B test -DintegrationTests')
-        }
-
-        shell('kill $(cat docker-log.pid) || true')
-    }
-
-    publishers {
-        archiveArtifacts {
-            allowEmpty(true)
-            pattern('**/target/container-logs/**')
-            pattern('docker.log')
-        }
-        archiveJunit('**/surefire-reports/TEST-*.xml')
-    }
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_411_java8.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_411_java8.groovy
deleted file mode 100644
index 4b9a893..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_411_java8.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 8 for branch-4.11
-mavenJob('bookkeeper_release_branch_411_java8') {
-  description('Runs nightly build for bookkeeper branch-4.11 in Java 8.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'branch-4.11', 'JDK 1.8 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check package spotbugs:check -Ddistributedlog -Dstream -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_411_java9.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_411_java9.groovy
deleted file mode 100644
index 42ffc18..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_411_java9.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 9 for branch-4.11
-mavenJob('bookkeeper_release_branch_411_java9') {
-  description('Runs nightly build for bookkeeper branch-4.11 in Java 9.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'branch-4.11', 'JDK 1.9 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check package spotbugs:check -Ddistributedlog -Dstream -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_49_integrationtests.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_49_integrationtests.groovy
deleted file mode 100644
index 85ade38..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_49_integrationtests.groovy
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This is the Java postcommit which runs a maven install, and the current set of precommit tests.
-freeStyleJob('bookkeeper_release_branch_49_integrationtests') {
-    description('Run integration tests on bookkeeper branch-4.9.')
-
-    // Set common parameters.
-    common_job_properties.setTopLevelMainJobProperties(
-        delegate,
-        'branch-4.9',
-        'JDK 1.8 (latest)',
-        120)
-
-    // Sets that this is a PostCommit job.
-    common_job_properties.setPostCommit(
-        delegate,
-        'H 12 * * *',
-        false)
-
-    steps {
-        // Temporary information gathering to see if full disks are causing the builds to flake
-        shell('id')
-        shell('ulimit -a')
-        shell('pwd')
-        shell('df -Th')
-        shell('ps -eo euser,pid,ppid,pgid,start,pcpu,pmem,cmd')
-        shell('docker network prune -f --filter name=testnetwork_*') // clean up any dangling networks from previous runs
-        shell('docker system events > docker.log & echo $! > docker-log.pid')
-
-        shell('docker pull apachebookkeeper/bookkeeper-all-released-versions:latest')
-
-        // Build everything
-        maven {
-            // Set Maven parameters.
-            common_job_properties.setMavenConfig(delegate)
-
-            goals('-B clean install -Pdocker')
-            properties(skipTests: true, interactiveMode: false)
-        }
-
-        maven {
-            // Set Maven parameters.
-            common_job_properties.setMavenConfig(delegate)
-            rootPOM('tests/pom.xml')
-            goals('-B test -DintegrationTests')
-        }
-
-        shell('kill $(cat docker-log.pid) || true')
-    }
-
-    publishers {
-        archiveArtifacts {
-            allowEmpty(true)
-            pattern('**/target/container-logs/**')
-            pattern('docker.log')
-        }
-        archiveJunit('**/surefire-reports/TEST-*.xml')
-    }
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_49_java8.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_49_java8.groovy
deleted file mode 100644
index 21baff0..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_49_java8.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 8 for branch-4.9
-mavenJob('bookkeeper_release_branch_49_java8') {
-  description('Runs nightly build for bookkeeper branch-4.9 in Java 8.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'branch-4.9', 'JDK 1.8 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check package spotbugs:check -Ddistributedlog -Dstream -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_branch_49_java9.groovy b/.test-infra/jenkins/job_bookkeeper_release_branch_49_java9.groovy
deleted file mode 100644
index 65da914..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_branch_49_java9.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job runs the Java postcommit tests on Java 9 for branch-4.9
-mavenJob('bookkeeper_release_branch_49_java9') {
-  description('Runs nightly build for bookkeeper branch-4.7 in Java 9.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(
-    delegate, 'branch-4.9', 'JDK 1.9 (latest)')
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  // Set maven parameters.
-  common_job_properties.setMavenConfig(delegate)
-
-  // Maven build project.
-  goals('clean apache-rat:check package spotbugs:check -Ddistributedlog -Dstream -DstreamTests')
-}
diff --git a/.test-infra/jenkins/job_bookkeeper_release_nightly_snapshot.groovy b/.test-infra/jenkins/job_bookkeeper_release_nightly_snapshot.groovy
deleted file mode 100644
index 5166df2..0000000
--- a/.test-infra/jenkins/job_bookkeeper_release_nightly_snapshot.groovy
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// This job deploys a snapshot of latest master to artifactory nightly
-freeStyleJob('bookkeeper_release_nightly_snapshot') {
-  description('runs a `mvn clean deploy` of the nightly snapshot for bookkeeper.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(delegate)
-
-  // Sets that this is a PostCommit job.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 12 * * *',
-      false)
-
-  parameters {
-      stringParam(
-          'sha1',
-          'master',
-          'Commit id or refname (eg: origin/pr/9/head) you want to build.')
-        
-      stringParam(
-          'PUBLISH_GITSHA',
-          'false',
-          'Whether to publish a snapshot with gitsha information. Options: (true|false).')
-  }
-
-  steps {
-    // update snapshot version if `PUBLISH_GITSHA` is `true`
-    shell '''
-export MAVEN_HOME=/home/jenkins/tools/maven/latest
-export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
-export MAVEN_OPTS=-Xmx2048m
-
-./dev/update-snapshot-version.sh
-    '''.stripIndent().trim()
-
-    maven {
-      // Set maven parameters.
-      common_job_properties.setMavenConfig(delegate)
-
-      // Maven build project.
-      goals('clean package -Dmaven.test.failure.ignore=true deploy -Ddistributedlog  -DstreamTests -Pdocker')
-    }
-
-    // publish the docker images
-    shell '''
-export MAVEN_HOME=/home/jenkins/tools/maven/latest
-export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
-export MAVEN_OPTS=-Xmx2048m
-
-./dev/publish-docker-images.sh
-    '''.stripIndent().trim()
-  }
-}
diff --git a/.test-infra/jenkins/job_seed.grrovy.bak b/.test-infra/jenkins/job_seed.grrovy.bak
deleted file mode 100644
index c8b16b0..0000000
--- a/.test-infra/jenkins/job_seed.grrovy.bak
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import common_job_properties
-
-// Defines the seed job, which creates or updates all other Jenkins projects.
-job('bookkeeper-seed') {
-  description('Automatically configures all Apache BookKeeper Jenkins projects based' +
-              ' on Jenkins DSL groovy files checked into the code repository.')
-
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(delegate)
-
-  // This is a post-commit job that runs once per day, not for every push.
-  common_job_properties.setPostCommit(
-      delegate,
-      'H 6 * * *',
-      false,
-      'issues@bookkeeper.apache.org')
-
-  steps {
-    folder('bookkeeper-jenkins-testing')
-    dsl {
-      // A list or a glob of other groovy files to process.
-      external('.test-infra/jenkins/job_*.groovy')
-
-      // If a job is removed from the script, delete it
-      removeAction('DELETE')
-    }
-  }
-}
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 157449d..0000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-pipeline {
-    agent {
-        label 'Hadoop'
-    }
-
-    options {
-        disableConcurrentBuilds()
-        buildDiscarder(logRotator(daysToKeepStr: '14'))
-        timeout(time: 2, unit: 'HOURS')
-        timestamps()
-    }
-
-    triggers {
-        cron('@daily')
-    }
-
-    stages {
-        stage('Prepare') {
-            matrix {
-                agent any
-                axes {
-                    axis {
-                        name 'JAVA_VERSION'
-                        values 'JDK 1.8 (latest)', 'JDK 11 (latest)'
-                    }
-                }
-
-                tools {
-                    maven "Maven (latest)"
-                    jdk "${JAVA_VERSION}"
-                }
-
-                stages {
-                    stage('BuildAndTest') {
-                        steps {
-                            git 'https://github.com/apache/bookkeeper'
-                            sh "git clean -fxd"
-                            sh "mvn verify spotbugs:check checkstyle:check"
-                        }
-                        post {
-                            always {
-                               junit '**/target/surefire-reports/TEST-*.xml'
-                               archiveArtifacts '**/target/*.jar'
-                            }
-                            // Jenkins pipeline jobs fill slaves on PRs without this :(
-                            cleanup() {
-                                script {
-                                    sh label: 'Cleanup workspace', script: '''
-                                        # See HADOOP-13951
-                                        chmod -R u+rxw "${WORKSPACE}"
-                                        '''
-                                    deleteDir()
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/README.md b/README.md
index 58bb9e0..53876ee 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
 <img src="https://pbs.twimg.com/profile_images/545716709311520769/piLLa1iC_400x400.png" alt="logo" style="width: 32px;"/>
 
-[![Build Status](https://travis-ci.org/apache/bookkeeper.svg?branch=master)](https://travis-ci.org/apache/bookkeeper)
-[![Build Status](https://builds.apache.org/buildStatus/icon?job=bookkeeper-master)](https://builds.apache.org/job/bookkeeper-master/)
 [![Coverage Status](https://coveralls.io/repos/github/apache/bookkeeper/badge.svg?branch=master)](https://coveralls.io/github/apache/bookkeeper?branch=master)
 [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.bookkeeper/bookkeeper/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.bookkeeper/bookkeeper)
 
diff --git a/bookkeeper-dist/build.gradle b/bookkeeper-dist/build.gradle
index 5f15eae..e8c0868 100644
--- a/bookkeeper-dist/build.gradle
+++ b/bookkeeper-dist/build.gradle
@@ -63,7 +63,6 @@ distributions {
                             "**/.vertx",
                             ".git/**",
                             "dev/**",
-                            "jenkins/**",
                             "site/**"
                 }
             }
diff --git a/bookkeeper-dist/src/assemble/src.xml b/bookkeeper-dist/src/assemble/src.xml
index cb61be4..146061e 100644
--- a/bookkeeper-dist/src/assemble/src.xml
+++ b/bookkeeper-dist/src/assemble/src.xml
@@ -61,8 +61,6 @@
         <!-- site -->
         <exclude>site/**</exclude>
         <exclude>site2/**</exclude>
-        <!-- jenkins -->
-        <exclude>jenkins/**</exclude>
       </excludes>
     </fileSet>
     <fileSet>
diff --git a/site/community/testing.md b/site/community/testing.md
index 2d784f9..7d9613c 100644
--- a/site/community/testing.md
+++ b/site/community/testing.md
@@ -22,46 +22,13 @@ testing.
 
 ### Precommit
 
-For precommit testing, BookKeeper uses [Jenkins](https://builds.apache.org/job/bookkeeper-seed/) and
-[Travis CI](https://travis-ci.org/apache/bookkeeper), hooked up to
-[Github](https://github.com/apache/bookkeeper), to ensure that pull requests meet a certain quality bar.
+For precommit testing, BookKeeper uses GitHub Actions to ensure that pull requests meet a certain quality bar.
 These precommits verify correctness via unit/integration tests.
 
-Precommit tests are kicked off when a user makes a Pull Request against the `apache/bookkeeper` repository,
-and the Jenkins and Travis CI statuses are displayed at the bottom of the pull request page. Clicking on
-"Details" will open the status page in the selected tool; there, test status and output can be viewed.
-
-For retriggering precommit testing for a given Pull Request, you can comment "retest this please" for
-jenkins jobs and close/reopen the Pull Request for travis jobs.
+In case of failures, you can re-run failing checks commenting `rerun failure checks` in the pull.
+More details on GitHub actions [here](https://github.com/apache/bookkeeper/tree/master/.github/workflows/bot.yml)
 
 ### Postcommit
 
-Running in postcommit removes as stringent of a time constraint, which gives us the ability to do some
-more comprehensive testing. Currently in postcommit, we run unit/integration tests against both master and
-the most recent release branch, publish website for any changes related to website and documentation, and
-deploy a snapshot of latest master to artifactory.
-
-Postcommit test results can be found in [Jenkins](https://builds.apache.org/job/bookkeeper-seed/).
-
-### Configuration
-
-All the precommit and postcommit CI jobs are managed either by Jenkins or Travis CI.
-
-For Jenkins jobs, they are all written and managed using [Jenkin-DSL](https://github.com/jenkinsci/job-dsl-plugin/wiki).
-The DSL scripts are maintained under [.test-infra](https://github.com/apache/bookkeeper/tree/master/.test-infra/jenkins).
-Any jenkins changes should be made in these files and reviewed by the community.
-
-For Travis CI jobs, they are defined in [.travis.yml](https://github.com/apache/bookkeeper/blob/master/.travis.yml).
-Any travis CI changes should be made in this file and reviewed by the community.
-
-#### Testing Jenkins DSL scripts
-
-Changes to the Jenkins DSL scripts should be tested before submission to avoid having to send multiple PRs for a single change.
-There is a [Jenkins testing seed job](https://builds.apache.org/job/bookkeeper-jenkins-testing/job/seed/) which can be used for testing DSL scripts.
-
-To test a DSL script, create it in ```.test-infra/jenkins``` with a filename with the pattern ```jenkins_testing_job_<something>.groovy```. Commit this to a branch, and push the branch to your own fork on github. Then kick off the testing seed job, specifying your fork and the branch as parameters. This will generate jobs under the ```bookkeeper-jenkins-testing``` folder in Jenkins.
-
-Run your job a couple of times to makes sure it works and is stable. Once you're satisfied with the job, rename the file to the pattern ```job_<something>.groovy```, and create a PR.
-
-> NOTE: Kicking off the testing seed job requires a jenkins account, which is only available to committer. <br/>
-> **WARN: Don't put triggers in your testing job, as you could mess up outstanding PRs approvals. Add them later.**
+Currently in postcommit, we re-run precommit tests against both master and the most recent release branch.
+In this way we can ensure also the main branches are not broken.
\ No newline at end of file
diff --git a/site2/docs/testing-guide.md b/site2/docs/testing-guide.md
index de0592b..6d7e27f 100644
--- a/site2/docs/testing-guide.md
+++ b/site2/docs/testing-guide.md
@@ -19,46 +19,13 @@ testing.
 
 ### Precommit
 
-For precommit testing, BookKeeper uses [Jenkins](https://builds.apache.org/job/bookkeeper-seed/) and
-[Travis CI](https://travis-ci.org/apache/bookkeeper), hooked up to
-[Github](https://github.com/apache/bookkeeper), to ensure that pull requests meet a certain quality bar.
+For precommit testing, BookKeeper uses GitHub Actions to ensure that pull requests meet a certain quality bar.
 These precommits verify correctness via unit/integration tests.
 
-Precommit tests are kicked off when a user makes a Pull Request against the `apache/bookkeeper` repository,
-and the Jenkins and Travis CI statuses are displayed at the bottom of the pull request page. Clicking on
-"Details" will open the status page in the selected tool; there, test status and output can be viewed.
-
-For retriggering precommit testing for a given Pull Request, you can comment "retest this please" for
-jenkins jobs and close/reopen the Pull Request for travis jobs.
+In case of failures, you can re-run failing checks commenting `rerun failure checks` in the pull. 
+More details on GitHub actions [here](https://github.com/apache/bookkeeper/tree/master/.github/workflows/bot.yml) 
 
 ### Postcommit
 
-Running in postcommit removes as stringent of a time constraint, which gives us the ability to do some
-more comprehensive testing. Currently in postcommit, we run unit/integration tests against both master and
-the most recent release branch, publish website for any changes related to website and documentation, and
-deploy a snapshot of latest master to artifactory.
-
-Postcommit test results can be found in [Jenkins](https://builds.apache.org/job/bookkeeper-seed/).
-
-### Configuration
-
-All the precommit and postcommit CI jobs are managed either by Jenkins or Travis CI.
-
-For Jenkins jobs, they are all written and managed using [Jenkin-DSL](https://github.com/jenkinsci/job-dsl-plugin/wiki).
-The DSL scripts are maintained under [.test-infra](https://github.com/apache/bookkeeper/tree/master/.test-infra/jenkins).
-Any jenkins changes should be made in these files and reviewed by the community.
-
-For Travis CI jobs, they are defined in [.travis.yml](https://github.com/apache/bookkeeper/blob/master/.travis.yml).
-Any travis CI changes should be made in this file and reviewed by the community.
-
-#### Testing Jenkins DSL scripts
-
-Changes to the Jenkins DSL scripts should be tested before submission to avoid having to send multiple PRs for a single change.
-There is a [Jenkins testing seed job](https://builds.apache.org/job/bookkeeper-jenkins-testing/job/seed/) which can be used for testing DSL scripts.
-
-To test a DSL script, create it in ```.test-infra/jenkins``` with a filename with the pattern ```jenkins_testing_job_<something>.groovy```. Commit this to a branch, and push the branch to your own fork on github. Then kick off the testing seed job, specifying your fork and the branch as parameters. This will generate jobs under the ```bookkeeper-jenkins-testing``` folder in Jenkins.
-
-Run your job a couple of times to makes sure it works and is stable. Once you're satisfied with the job, rename the file to the pattern ```job_<something>.groovy```, and create a PR.
-
-> NOTE: Kicking off the testing seed job requires a jenkins account, which is only available to committer. <br/>
-> **WARN: Don't put triggers in your testing job, as you could mess up outstanding PRs approvals. Add them later.**
+Currently in postcommit, we re-run precommit tests against both master and the most recent release branch.
+In this way we can ensure also the main branches are not broken.
diff --git a/stream/.travis.yml b/stream/.travis.yml
deleted file mode 100644
index 61a2892..0000000
--- a/stream/.travis.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-language: java
-
-# blacklist
-matrix:
-  include:
-    - os: osx
-      osx_image: xcode8
-    - os: linux
-      env: CUSTOM_JDK="oraclejdk8"
-    - os: linux
-      dist: trusty
-      env: CUSTOM_JDK="openjdk8"
-
-# Upgrade to maven 3.5.0
-before_install:
-  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then jdk_switcher use "$CUSTOM_JDK"; fi
-  - echo "MAVEN_OPTS='-Xmx3072m -XX:MaxPermSize=512m'" > ~/.mavenrc
-
-script:
-  - travis_wait 60 mvn --batch-mode clean apache-rat:check package
-
-cache:
-  directories:
-    - $HOME/.m2