[commit: ghc] wip/jenkins: Fix test (ffbc83e)
git at git.haskell.org
git at git.haskell.org
Fri Jul 28 16:43:38 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/jenkins
Link : http://ghc.haskell.org/trac/ghc/changeset/ffbc83e96441daee831593393fcfe7eb3e9f5e44/ghc
>---------------------------------------------------------------
commit ffbc83e96441daee831593393fcfe7eb3e9f5e44
Author: Ben Gamari <ben at smart-cactus.org>
Date: Tue May 30 13:57:23 2017 -0400
Fix test
>---------------------------------------------------------------
ffbc83e96441daee831593393fcfe7eb3e9f5e44
Jenkinsfile | 39 ++++++++++++++++++++++++++++-----------
1 file changed, 28 insertions(+), 11 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 2e18d93..45aae0c 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -146,22 +146,35 @@ def buildGhc(params) {
stage('Prepare binary distribution') {
sh "${makeCmd} binary-dist"
- def tarName = sh(script: "${makeCmd} -s echo VALUE=BIN_DIST_PREP_TAR_COMP",
- returnStdout: true)
- def ghcVersion = sh(script: "${makeCmd} -s echo VALUE=ProjectVersion",
- returnStdout: true)
- writeFile(file: "ghc-version", text: ghcVersion)
- archiveArtifacts "../${tarName}"
+ writeJSON(file: 'bindist.json', json: {
+ commit: resolveCommitSha('HEAD')
+ tarName: getMakeValue(makeCmd, 'BIN_DIST_PREP_TAR_COMP')
+ dirName: getMakeValue(makeCmd, 'BIN_DIST_NAME')
+ ghcVersion: getMakeValue(makeCmd, 'ProjectVersion')
+ targetPlatform: getMakeValue(makeCmd, 'TARGETPLATFORM')
+ })
+ sh 'pwd; ls'
// Write a file so we can easily file the tarball and bindist directory later
- stash(name: "bindist-${targetTriple}", includes: "ghc-version,../${tarName}")
+ stash(name: "bindist-${targetTriple}", includes: "bindist.json,${tarName}")
+ archiveArtifacts "${tarName}"
}
}
+def getMakeValue(String makeCmd, String value) {
+ return sh(script: "${makeCmd} -s echo VALUE=${value}", returnStdout: true)
+}
+
def withGhcBinDist(String targetTriple, Closure f) {
unstash "bindist-${targetTriple}"
- def ghcVersion = readFile "ghc-version"
- sh "tar -xf ${ghcVersion}-${targetTriple}.tar.xz"
- dir("ghc-${ghcVersion}") { f }
+ def metadata = readJSON "bindist.json"
+ sh "tar -xf ${metadata.tarName}"
+ dir("${metadata.bindistName}") {
+ try {
+ f
+ } finally {
+ deleteDir()
+ }
+ }
}
def testGhc(params) {
@@ -202,11 +215,15 @@ def testGhc(params) {
}
}
+def resolveCommitSha(String ref) {
+ return sh(script: "git rev-parse ${ref}", returnStdout: true)
+}
+
// Push update to ghc.readthedocs.org.
// Expects to be sitting in a build source tree.
def updateReadTheDocs() {
git clone 'git at github.com:bgamari/ghc-users-guide'
- def commit = sh(script: "git rev-parse HEAD", returnStdout: true)
+ def commit = resolveCommitSha('HEAD')
sh """
export GHC_TREE=\$(pwd)
cd ghc-users-guide
More information about the ghc-commits
mailing list