[commit: ghc] wip/jenkins: Add nofib, bindist, and aarch64 support (fcf8f84)
git at git.haskell.org
git at git.haskell.org
Thu May 18 03:14:09 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/jenkins
Link : http://ghc.haskell.org/trac/ghc/changeset/fcf8f84a534c6a59f30baa26e169256f74235471/ghc
>---------------------------------------------------------------
commit fcf8f84a534c6a59f30baa26e169256f74235471
Author: Ben Gamari <ben at smart-cactus.org>
Date: Wed May 17 22:41:02 2017 -0400
Add nofib, bindist, and aarch64 support
>---------------------------------------------------------------
fcf8f84a534c6a59f30baa26e169256f74235471
Jenkinsfile | 39 ++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index ee92071..5201df3 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -5,11 +5,17 @@ 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() {
+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 +42,42 @@ 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}"
}
+
+ stage('Run nofib') {
+ if (runNofib) {
+ installPkgs(['regex-compat'])
+ sh """
+ cd nofib
+ make boot
+ make >../nofib.log 2>&1
+ """
+ archive 'nofib.log'
+ }
+ }
+
+ stage('Prepare bindist') {
+ if (params.buildBindist) {
+ sh "make binary-dist"
+ archive 'ghc-*.tar.xz'
+ }
+ }
}
-node {
+//node { buildGhc(runNofib: params.runNofib) }
+node(label: 'linux && amd64') {
+ buildGhc()
+}
+node(label: 'aarch64') {
buildGhc()
}
More information about the ghc-commits
mailing list