Lipu Fei 7 лет назад
Родитель
Сommit
6997c2d2dc
1 измененных файлов с 36 добавлено и 34 удалено
  1. 36 34
      Jenkinsfile

+ 36 - 34
Jenkinsfile

@@ -1,45 +1,47 @@
-parallel_nodes(['linux && cura', 'windows && cura']) {
-    // Prepare building
-    stage('Prepare') {
-        // Ensure we start with a clean build directory.
-        step([$class: 'WsCleanup'])
+timeout(time: 2, unit: "HOURS") {
+    parallel_nodes(['linux && cura', 'windows && cura']) {
+        // Prepare building
+        stage('Prepare') {
+            // Ensure we start with a clean build directory.
+            step([$class: 'WsCleanup'])
 
 
-        // Checkout whatever sources are linked to this pipeline.
-        checkout scm
-    }
+            // Checkout whatever sources are linked to this pipeline.
+            checkout scm
+        }
 
 
-    // If any error occurs during building, we want to catch it and continue with the "finale" stage.
-    catchError {
-        // Building and testing should happen in a subdirectory.
-        dir('build') {
-            // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup.
-            stage('Build') {
-                def branch = env.BRANCH_NAME
-                if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) {
-                    branch = "master"
-                }
+        // If any error occurs during building, we want to catch it and continue with the "finale" stage.
+        catchError {
+            // Building and testing should happen in a subdirectory.
+            dir('build') {
+                // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup.
+                stage('Build') {
+                    def branch = env.BRANCH_NAME
+                    if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) {
+                        branch = "master"
+                    }
 
 
-                // Ensure CMake is setup. Note that since this is Python code we do not really "build" it.
-                def uranium_dir = get_workspace_dir("Ultimaker/Uranium/${branch}")
-                cmake("..", "-DCMAKE_PREFIX_PATH=\"${env.CURA_ENVIRONMENT_PATH}/${branch}\" -DCMAKE_BUILD_TYPE=Release -DURANIUM_DIR=\"${uranium_dir}\"")
-            }
+                    // Ensure CMake is setup. Note that since this is Python code we do not really "build" it.
+                    def uranium_dir = get_workspace_dir("Ultimaker/Uranium/${branch}")
+                    cmake("..", "-DCMAKE_PREFIX_PATH=\"${env.CURA_ENVIRONMENT_PATH}/${branch}\" -DCMAKE_BUILD_TYPE=Release -DURANIUM_DIR=\"${uranium_dir}\"")
+                }
 
 
-            // Try and run the unit tests. If this stage fails, we consider the build to be "unstable".
-            stage('Unit Test') {
-                try {
-                    make('test')
-                } catch(e) {
-                    currentBuild.result = "UNSTABLE"
+                // Try and run the unit tests. If this stage fails, we consider the build to be "unstable".
+                stage('Unit Test') {
+                    try {
+                        make('test')
+                    } catch(e) {
+                        currentBuild.result = "UNSTABLE"
+                    }
                 }
                 }
             }
             }
         }
         }
-    }
 
 
-    // Perform any post-build actions like notification and publishing of unit tests.
-    stage('Finalize') {
-        // Publish the test results to Jenkins.
-        junit allowEmptyResults: true, testResults: 'build/junit*.xml'
+        // Perform any post-build actions like notification and publishing of unit tests.
+        stage('Finalize') {
+            // Publish the test results to Jenkins.
+            junit allowEmptyResults: true, testResults: 'build/junit*.xml'
 
 
-        notify_build_result(env.CURA_EMAIL_RECIPIENTS, '#cura-dev', ['master', '2.'])
+            notify_build_result(env.CURA_EMAIL_RECIPIENTS, '#cura-dev', ['master', '2.'])
+        }
     }
     }
 }
 }