diff --git a/Jenkinsfile b/Jenkinsfile index 942075ea..638e9426 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,13 +30,13 @@ for (int i = 0; i < dockerPlatforms.size(); i++) { def platform = dockerPlatforms[i] platforms[platform] = { -> node('docker') { stage(platform) { timeout(time: 1, unit: 'HOURS') { - checkout scm - /* construct a Dockerfile for this base */ - sh """ - ( echo "FROM flatironinstitute/triqs:${triqsBranch}-${env.STAGE_NAME}" ; sed '0,/^FROM /d' Dockerfile ) > Dockerfile.jenkins - mv -f Dockerfile.jenkins Dockerfile - """ - /* build and tag */ + checkout scm + /* construct a Dockerfile for this base */ + sh """ + ( echo "FROM flatironinstitute/triqs:${triqsBranch}-${env.STAGE_NAME}" ; sed '0,/^FROM /d' Dockerfile ) > Dockerfile.jenkins + mv -f Dockerfile.jenkins Dockerfile + """ + /* build and tag */ def img = docker.build("flatironinstitute/${projectName}:${env.BRANCH_NAME}-${env.STAGE_NAME}", "--build-arg APPNAME=${projectName} --build-arg BUILD_DOC=${platform==documentationPlatform} .") if (!publish || platform != documentationPlatform) { /* but we don't need the tag so clean it up (except for documentation) */ @@ -72,8 +72,8 @@ for (int i = 0; i < osxPlatforms.size(); i++) { "LIBRARY_PATH=$triqsDir/lib:${env.BREW}/lib", "CMAKE_PREFIX_PATH=$triqsDir/share/cmake"]) { deleteDir() - sh "cmake $srcDir -DCMAKE_INSTALL_PREFIX=$installDir -DTRIQS_ROOT=$triqsDir" - sh "make -j3" + sh "cmake $srcDir -DCMAKE_INSTALL_PREFIX=$installDir -DTRIQS_ROOT=$triqsDir" + sh "make -j3" try { sh "make test" } catch (exc) { @@ -96,30 +96,30 @@ try { def workDir = pwd() /* Update documention on gh-pages branch */ dir("$workDir/gh-pages") { - def subdir = env.BRANCH_NAME - git(url: "ssh://git@github.com/TRIQS/${projectName}.git", branch: "gh-pages", credentialsId: "ssh", changelog: false) + def subdir = "${projectName}/${env.BRANCH_NAME}" + git(url: "ssh://git@github.com/TRIQS/TRIQS.github.io.git", branch: "master", credentialsId: "ssh", changelog: false) sh "rm -rf ${subdir}" docker.image("flatironinstitute/${projectName}:${env.BRANCH_NAME}-${documentationPlatform}").inside() { sh "cp -rp \$INSTALL/share/doc/${projectName} ${subdir}" } sh "git add -A ${subdir}" sh """ - git commit --author='Flatiron Jenkins ' --allow-empty -m 'Generated documentation for ${env.BRANCH_NAME}' -m '${env.BUILD_TAG} ${commit}' + git commit --author='Flatiron Jenkins ' --allow-empty -m 'Generated documentation for ${subdir}' -m '${env.BUILD_TAG} ${commit}' """ // note: credentials used above don't work (need JENKINS-28335) - sh "git push origin gh-pages" + sh "git push origin master" } /* Update docker repo submodule */ dir("$workDir/docker") { try { git(url: "ssh://git@github.com/TRIQS/docker.git", branch: env.BRANCH_NAME, credentialsId: "ssh", changelog: false) sh "echo '160000 commit ${commit}\t${projectName}' | git update-index --index-info" sh """ - git commit --author='Flatiron Jenkins ' -m 'Autoupdate ${projectName}' -m '${env.BUILD_TAG}' + git commit --author='Flatiron Jenkins ' --allow-empty -m 'Autoupdate ${projectName}' -m '${env.BUILD_TAG}' """ // note: credentials used above don't work (need JENKINS-28335) sh "git push origin ${env.BRANCH_NAME}" } catch (err) { - /* Ignore, non-critical -- might not exist on this branch */ + /* Ignore, non-critical -- might not exist on this branch */ echo "Failed to update docker repo" } } } }