[commit: ghc] wip/jenkins: Add nofib, bindist, and aarch64 support (a67c52a)

git at git.haskell.org git at git.haskell.org
Sat Jun 17 13:51:57 UTC 2017


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

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

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

commit a67c52a45ad5d719e1f60fb26017bd68b184f224
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Wed May 17 22:41:02 2017 -0400

    Add nofib, bindist, and aarch64 support


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

a67c52a45ad5d719e1f60fb26017bd68b184f224
 Jenkinsfile | 44 +++++++++++++++++++++++++++++++++++++-------
 1 file changed, 37 insertions(+), 7 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index ee92071..eada3d5 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -5,11 +5,25 @@ properties(
     parameters(
       [
         booleanParam(name: 'build_docs', defaultValue: false, description: 'build and upload documentation'),
-        booleanParam(name: 'nightly', defaultValue: false, description: 'are we building a nightly?')
+        booleanParam(name: 'nightly', defaultValue: false, description: 'are we building a nightly?'),
+        booleanParam(name: 'buildBindist', defaultValue: false, description: 'prepare and archive a binary distribution?'),
+        booleanParam(name: 'runNofib', defaultValue: false, description: 'run nofib and archive results')
       ])
   ])
 
-def buildGhc() {
+//node { buildGhc(runNofib: params.runNofib) }
+node(label: 'linux && amd64') {
+  buildGhc(false)
+}
+node(label: 'aarch64') {
+  buildGhc(false)
+}
+
+def installPackages(pkgs) {
+  sh "cabal install -j${env.THREADS} --with-compiler=`pwd`/inplace/bin/ghc-stage2 --package-db=`pwd`/inplace/lib/package.conf.d ${pkgs.join(' ')}"
+}
+
+def buildGhc(runNofib) {
   stage('Build') {
     sh 'git submodule update --init --recursive'
     def speed = 'NORMAL'
@@ -36,19 +50,35 @@ def buildGhc() {
       def pkgs = ['mtl', 'parallel', 'parsec', 'primitive', 'QuickCheck',
                   'random', 'regex-compat', 'syb', 'stm', 'utf8-string',
                   'vector']
-      sh "cabal install -j${env.THREADS} --with-compiler=`pwd`/inplace/bin/ghc-stage2 --package-db=`pwd`/inplace/lib/package.conf.d ${pkgs.join(' ')}"
+      installPkgs pkgs
     }
   }
 
-  stage('Normal testsuite run') {
+  stage('Run testsuite') {
     def target = 'test'
     if (params.nightly) {
       target = 'slowtest'
     }
     sh "make THREADS=${env.THREADS} ${target}"
   }
-}
 
-node {
-  buildGhc()
+  stage('Run nofib') {
+    if (runNofib) {
+      installPkgs(['regex-compat'])
+      sh """
+         cd nofib
+         make clean
+         make boot
+         make >../nofib.log 2>&1
+         """
+      archive 'nofib.log'
+    }
+  }
+
+  stage('Prepare bindist') {
+    if (params.buildBindist) {
+      sh "make binary-dist"
+      archive 'ghc-*.tar.xz'
+    }
+  }
 }



More information about the ghc-commits mailing list