This is an automated email from the ASF dual-hosted git repository.
lausen pushed a commit to branch v1.6.x
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/v1.6.x by this push:
new 1e129fa [v1.6.x] Backport staggered CI builds (#17999 & #18119)
(#18143)
1e129fa is described below
commit 1e129faf6b7c37085f5c958d483f6cb150f9bba2
Author: Joe Evans <[email protected]>
AuthorDate: Thu Apr 23 11:18:15 2020 -0700
[v1.6.x] Backport staggered CI builds (#17999 & #18119) (#18143)
* For mxnet-validation pipeline, require sanity build to complete
successfully before running other build pipelines. (#17999)
* Refactor staggered builds - create new full build pipeline that runs
sanity check first, then starts all other builds.
* Move list of build jobs to top of file for clarity. Preserve whole job
path in case we use nested folders in the future.
Co-authored-by: Joe Evans <[email protected]>
* If sanity build is not found, wait until Jenkins recognizes it. (#18119)
* If sanity build is not found, wait until Jenkins recognizes it.
* Also add a timeout of 30m for sanity build to run and complete, so we
don't get stuck in a loop.
Co-authored-by: Joe Evans <[email protected]>
Co-authored-by: Joe Evans <[email protected]>
---
ci/jenkins/Jenkinsfile_full | 61 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/ci/jenkins/Jenkinsfile_full b/ci/jenkins/Jenkinsfile_full
new file mode 100644
index 0000000..33d57d2
--- /dev/null
+++ b/ci/jenkins/Jenkinsfile_full
@@ -0,0 +1,61 @@
+// -*- mode: groovy -*-
+
+// 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.
+//
+// Jenkins pipeline
+// See documents at https://jenkins.io/doc/book/pipeline/jenkinsfile/
+
+// timeout in minutes
+def max_time = 30
+
+def buildJobs = [
+ 'centos-cpu',
+ 'centos-gpu',
+ 'clang',
+ 'edge',
+ 'miscellaneous',
+ 'unix-cpu',
+ 'unix-gpu',
+ 'website',
+ 'windows-cpu',
+ 'windows-gpu'
+]
+
+
+stage("full-build") {
+ timeout(time: max_time, unit: 'MINUTES') {
+ // get the base path by removing build and branch portions
+ def jobPath = JOB_NAME.split('/')
+ def pipelineName = jobPath[0..jobPath.size()-3].join('/')
+ def sanityDone = false
+ while (!sanityDone) {
+ try {
+ println("Attempting to run sanity build...")
+ build job: pipelineName + "/sanity/" + BRANCH_NAME, wait: true
+ sanityDone = true
+ } catch (hudson.AbortException e) {
+ println("Job doesn't yet exist, waiting for Jenkins to find
job..")
+ sleep(5)
+ }
+ }
+ buildJobs.each { subJob ->
+ build job: pipelineName + "/" + subJob + "/" + BRANCH_NAME, wait:
false
+ }
+ }
+}
+