[commit: ghc] wip/jenkins: Add nofib, bindist, and aarch64 support (c4f5c04)
git at git.haskell.org
git at git.haskell.org
Fri Jul 28 16:43:33 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/jenkins
Link : http://ghc.haskell.org/trac/ghc/changeset/c4f5c04e7701c6a49ca4e9dae026284531dda7ba/ghc
>---------------------------------------------------------------
commit c4f5c04e7701c6a49ca4e9dae026284531dda7ba
Author: Ben Gamari <ben at smart-cactus.org>
Date: Wed May 17 22:41:02 2017 -0400
Add nofib, bindist, and aarch64 support
>---------------------------------------------------------------
c4f5c04e7701c6a49ca4e9dae026284531dda7ba
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