You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by la...@apache.org on 2020/04/24 01:45:01 UTC
[incubator-mxnet] branch v1.7.x updated: [v1.7.x] Backport
staggered CI builds (#17999 & #18119) (#18142)
This is an automated email from the ASF dual-hosted git repository.
lausen pushed a commit to branch v1.7.x
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/v1.7.x by this push:
new a44d93e [v1.7.x] Backport staggered CI builds (#17999 & #18119) (#18142)
a44d93e is described below
commit a44d93e52cf15447f05abc2938fc93a951d6fcb6
Author: Joe Evans <gi...@250hacks.net>
AuthorDate: Thu Apr 23 18:44:23 2020 -0700
[v1.7.x] Backport staggered CI builds (#17999 & #18119) (#18142)
* 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 <jo...@amazon.com>
* 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 <jo...@amazon.com>
Co-authored-by: Joe Evans <jo...@amazon.com>
---
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
+ }
+ }
+}
+