[commit: ghc] wip/jenkins: Move to scripted pipeline (6d8dcc7)

git at git.haskell.org git at git.haskell.org
Thu May 18 01:04:51 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/jenkins
Link       : http://ghc.haskell.org/trac/ghc/changeset/6d8dcc7c50990316bea9f4fcb99b01a0b063867c/ghc

>---------------------------------------------------------------

commit 6d8dcc7c50990316bea9f4fcb99b01a0b063867c
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Wed May 17 20:52:58 2017 -0400

    Move to scripted pipeline


>---------------------------------------------------------------

6d8dcc7c50990316bea9f4fcb99b01a0b063867c
 Jenkinsfile | 91 +++++++++++++++++++++++++++++++------------------------------
 1 file changed, 46 insertions(+), 45 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 24c2949..5fb3a19 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,55 +1,56 @@
-def buildGhc() {
-  steps {
-    sh 'git submodule update --init --recursive'
-    def speed = 'NORMAL'
-    if (params.nightly) {
-      speed = 'SLOW'
-    }
-    writeFile 'mk/build.mk'
-              '''
-              Validating=YES
-              ValidateSpeed=${speed}
-              ValidateHpc=NO
-              BUILD_DPH=NO
-              '''
-    sh '''
-        ./boot
-        ./configure --enable-tarballs-autodownload
-        make THREADS=${params.threads} test
-        '''
-  }
-}
+#!groovy
 
-pipeline {
-  agent any
-  parameters {
-    booleanParam(name: 'build_docs', defaultValue: false, description: 'build and upload documentation')
-    string(name: 'threads', defaultValue: '2', description: 'available parallelism')
-    booleanParam(name: 'nightly', defaultValue: false, description: 'are we building a nightly?')
-  }
+properties(
+  [
+    parameters(
+      [
+        booleanParam(name: 'build_docs', defaultValue: false, description: 'build and upload documentation'),
+        string(name: 'threads', defaultValue: '2', description: 'available parallelism'),
+        booleanParam(name: 'nightly', defaultValue: false, description: 'are we building a nightly?')
+      ])
+  ])
 
-  stages {
-    stage('Build') {
-      steps {
-        buildGhc()
+def buildGhc() {
+  stage('Build') {
+    steps {
+      sh 'git submodule update --init --recursive'
+      def speed = 'NORMAL'
+      if (params.nightly) {
+        speed = 'SLOW'
       }
+      writeFile 'mk/build.mk'
+                '''
+                Validating=YES
+                ValidateSpeed=${speed}
+                ValidateHpc=NO
+                BUILD_DPH=NO
+                '''
+      sh '''
+          ./boot
+          ./configure --enable-tarballs-autodownload
+          make THREADS=${params.threads} test
+          '''
     }
+  }
 
-    stage('Install testsuite dependencies') {
-      when { environment expression { return params.nightly } }
-      steps {
-        sh 'cabal install --with-compiler=`pwd`/inplace/bin/ghc-stage2 --package-db=`pwd`/inplace/lib/package.conf.d mtl parallel parsec primitive QuickCheck random regex-compat syb stm utf8-string vector'
-      }
+  stage('Install testsuite dependencies') {
+    when { environment expression { return params.nightly } }
+    steps {
+      sh 'cabal install --with-compiler=`pwd`/inplace/bin/ghc-stage2 --package-db=`pwd`/inplace/lib/package.conf.d mtl parallel parsec primitive QuickCheck random regex-compat syb stm utf8-string vector'
     }
+  }
 
-    stage('Normal testsuite run') {
-      def target = 'test'
-      if (params.nightly) {
-        target = 'slowtest'
-      }
-      steps {
-        sh 'make THREADS=${params.threads} ${target}'
-      }
+  stage('Normal testsuite run') {
+    def target = 'test'
+    if (params.nightly) {
+      target = 'slowtest'
+    }
+    steps {
+      sh 'make THREADS=${params.threads} ${target}'
     }
   }
 }
+
+node {
+  buildGhc()
+}



More information about the ghc-commits mailing list