diff --git a/zorg/jenkins/jobs/jobs/clang-san-iossim b/zorg/jenkins/jobs/jobs/clang-san-iossim --- a/zorg/jenkins/jobs/jobs/clang-san-iossim +++ b/zorg/jenkins/jobs/jobs/clang-san-iossim @@ -2,7 +2,9 @@ agent { label 'green-dragon-08' } parameters { - string(name: 'GIT_REVISION', defaultValue: '*/main', description: 'Git revision to build') + string(name: 'GIT_REVISION', defaultValue: params.GIT_REVISION ?: '*/main', description: 'Git revision to build') + + booleanParam(name: 'SKIP_UPLOAD', defaultValue: params.SKIP_UPLOAD ?: false, description: 'Skip upload of built artifacts') } stages { @@ -19,21 +21,21 @@ stage('Build') { steps { timeout(90) { - sh ''' + sh """ set -u cd llvm-project git tag -a -m "First Commit" first_commit 97724f18c79c7cc81ced24239eb5e883bf1398ef || true - git_desc=$(git describe --match "first_commit") - export GIT_DISTANCE=$(echo ${git_desc} | cut -f 2 -d "-") + git_desc=\$(git describe --match "first_commit") + export GIT_DISTANCE=\$(echo \${git_desc} | cut -f 2 -d "-") - sha=$(echo ${git_desc} | cut -f 3 -d "-") - export GIT_SHA=${sha:1} + sha=\$(echo \${git_desc} | cut -f 3 -d "-") + export GIT_SHA=\${sha:1} cd - - export PATH=$PATH:/usr/bin:/usr/local/bin + export PATH=\$PATH:/usr/bin:/usr/local/bin # Set a MacOS minimum deployment target export MACOSX_DEPLOYMENT_TARGET=10.14 @@ -41,8 +43,9 @@ rm -rf clang-install *.tar.gz python llvm-zorg/zorg/jenkins/monorepo_build.py cmake build \ --assertions --cmake-type=RelWithDebInfo \ - --projects="clang;clang-tools-extra;compiler-rt" - ''' + --projects="clang;clang-tools-extra;compiler-rt" \ + ${params.SKIP_UPLOAD ? '--noupload' : ''} + """ } } } diff --git a/zorg/jenkins/jobs/jobs/clang-stage1-RA b/zorg/jenkins/jobs/jobs/clang-stage1-RA --- a/zorg/jenkins/jobs/jobs/clang-stage1-RA +++ b/zorg/jenkins/jobs/jobs/clang-stage1-RA @@ -1,8 +1,12 @@ pipeline { - agent { label 'green-dragon-02' } + agent { label 'green-dragon-02||green-dragon-08' } parameters { - string(name: 'GIT_REVISION', defaultValue: '*/main', description: 'Git revision to build') + string(name: 'GIT_REVISION', defaultValue: params.GIT_REVISION ?: '*/main', description: 'Git revision to build') + + booleanParam(name: 'SKIP_UPLOAD', defaultValue: params.SKIP_UPLOAD ?: false, description: 'Skip upload of built artifacts') + + booleanParam(name: 'SKIP_TRIGGER', defaultValue: params.SKIP_TRIGGER ?: false, description: 'Skip trigger of consuming CI jobs') } stages { @@ -33,29 +37,29 @@ stage('Build') { steps { timeout(90) { - sh ''' + sh """ set -u rm -rf build.properties cd llvm-project git tag -a -m "First Commit" first_commit 97724f18c79c7cc81ced24239eb5e883bf1398ef || true - git_desc=$(git describe --match "first_commit") - export GIT_DISTANCE=$(echo ${git_desc} | cut -f 2 -d "-") + git_desc=\$(git describe --match "first_commit") + export GIT_DISTANCE=\$(echo \${git_desc} | cut -f 2 -d "-") - sha=$(echo ${git_desc} | cut -f 3 -d "-") - export GIT_SHA=${sha:1} + sha=\$(echo \${git_desc} | cut -f 3 -d "-") + export GIT_SHA=\${sha:1} # Also save the LLVM_REV until LNT server is taught about GIT - export LLVM_REV=$(git show -q | grep "llvm-svn:" | cut -f2 -d":" | tr -d " ") + export LLVM_REV=\$(git show -q | grep "llvm-svn:" | cut -f2 -d":" | tr -d " ") cd - - echo "GIT_DISTANCE=$GIT_DISTANCE" > build.properties - echo "GIT_SHA=$GIT_SHA" >> build.properties - echo "ARTIFACT=$JOB_NAME/clang-d$GIT_DISTANCE-g$GIT_SHA-t$BUILD_ID-b$BUILD_NUMBER.tar.gz" >> build.properties + echo "GIT_DISTANCE=\$GIT_DISTANCE" > build.properties + echo "GIT_SHA=\$GIT_SHA" >> build.properties + echo "ARTIFACT=\$JOB_NAME/clang-d\$GIT_DISTANCE-g\$GIT_SHA-t\$BUILD_ID-b\$BUILD_NUMBER.tar.gz" >> build.properties - export PATH=$PATH:/usr/bin:/usr/local/bin + export PATH=\$PATH:/usr/bin:/usr/local/bin # Set a MacOS minimum deployment target export MACOSX_DEPLOYMENT_TARGET=10.14 @@ -63,8 +67,9 @@ rm -rf clang-build clang-install *.tar.gz python llvm-zorg/zorg/jenkins/monorepo_build.py cmake build \ --assertions --cmake-type=RelWithDebInfo \ - --projects="clang;clang-tools-extra;compiler-rt" - ''' + --projects="clang;clang-tools-extra;compiler-rt" \ + ${params.SKIP_UPLOAD ? '--noupload' : ''} + """ } } } @@ -99,20 +104,28 @@ body:'$DEFAULT_CONTENT' } success { - build job: 'clang-stage2-Rthinlto_relay', wait: false - build job: 'clang-stage2-cmake-RgSan_relay', wait: false - //build job: 'phase2_modules_relay', wait: false - build job: 'relay-lnt-test-suite', wait: false - build job: 'relay-lnt-ctmark', wait: false - build job: 'relay-test-suite-verify-machineinstrs', wait: false + script { + if (!params.SKIP_TRIGGER) { + build job: 'clang-stage2-Rthinlto_relay', wait: false + build job: 'clang-stage2-cmake-RgSan_relay', wait: false + //build job: 'phase2_modules_relay', wait: false + build job: 'relay-lnt-test-suite', wait: false + build job: 'relay-lnt-ctmark', wait: false + build job: 'relay-test-suite-verify-machineinstrs', wait: false + } + } } unstable { - build job: 'clang-stage2-Rthinlto_relay', wait: false - build job: 'clang-stage2-cmake-RgSan_relay', wait: false - //build job: 'phase2_modules_relay', wait: false - build job: 'relay-lnt-test-suite', wait: false - build job: 'relay-lnt-ctmark', wait: false - build job: 'relay-test-suite-verify-machineinstrs', wait: false + script { + if (!params.SKIP_TRIGGER) { + build job: 'clang-stage2-Rthinlto_relay', wait: false + build job: 'clang-stage2-cmake-RgSan_relay', wait: false + //build job: 'phase2_modules_relay', wait: false + build job: 'relay-lnt-test-suite', wait: false + build job: 'relay-lnt-ctmark', wait: false + build job: 'relay-test-suite-verify-machineinstrs', wait: false + } + } } } } diff --git a/zorg/jenkins/jobs/jobs/clang-stage1-cmake-RA-incremental b/zorg/jenkins/jobs/jobs/clang-stage1-cmake-RA-incremental --- a/zorg/jenkins/jobs/jobs/clang-stage1-cmake-RA-incremental +++ b/zorg/jenkins/jobs/jobs/clang-stage1-cmake-RA-incremental @@ -2,7 +2,9 @@ agent { label 'green-dragon-04' } parameters { - string(name: 'GIT_REVISION', defaultValue: '*/main', description: 'Git revision to build') + string(name: 'GIT_REVISION', defaultValue: params.GIT_REVISION ?: '*/main', description: 'Git revision to build') + + booleanParam(name: 'SKIP_UPLOAD', defaultValue: params.SKIP_UPLOAD ?: false, description: 'Skip upload of built artifacts') } stages { @@ -33,35 +35,35 @@ stage('Build') { steps { timeout(120) { - sh ''' + sh """ set -u rm -rf build.properties cd llvm-project git tag -a -m "First Commit" first_commit 97724f18c79c7cc81ced24239eb5e883bf1398ef || true - git_desc=$(git describe --match "first_commit") + git_desc=\$(git describe --match "first_commit") - export GIT_DISTANCE=$(echo ${git_desc} | cut -f 2 -d "-") + export GIT_DISTANCE=\$(echo \${git_desc} | cut -f 2 -d "-") - sha=$(echo ${git_desc} | cut -f 3 -d "-") - export GIT_SHA=${sha:1} + sha=\$(echo \${git_desc} | cut -f 3 -d "-") + export GIT_SHA=\${sha:1} # Also save the LLVM_REV until LNT server is taught about GIT - export LLVM_REV=$(git show -q | grep "llvm-svn:" | cut -f2 -d":" | tr -d " ") + export LLVM_REV=\$(git show -q | grep "llvm-svn:" | cut -f2 -d":" | tr -d " ") cd - - export PATH=$PATH:/usr/bin:/usr/local/bin + export PATH=\$PATH:/usr/bin:/usr/local/bin # Set a MacOS minimum deployment target export MACOSX_DEPLOYMENT_TARGET=10.14 - python llvm-zorg/zorg/jenkins/monorepo_build.py cmake build --assertions --projects="clang" + python llvm-zorg/zorg/jenkins/monorepo_build.py cmake build --assertions --projects="clang" ${params.SKIP_UPLOAD ? '--noupload' : ''} # Removing the local artifact rm -rf clang-*.tar.gz - ''' + """ } } } diff --git a/zorg/jenkins/jobs/jobs/clang-stage2-Rthinlto b/zorg/jenkins/jobs/jobs/clang-stage2-Rthinlto --- a/zorg/jenkins/jobs/jobs/clang-stage2-Rthinlto +++ b/zorg/jenkins/jobs/jobs/clang-stage2-Rthinlto @@ -4,8 +4,9 @@ options { disableResume() } parameters { - string(name: 'GIT_SHA', defaultValue: '*/main', description: 'Git revision to build') + string(name: 'GIT_SHA', defaultValue: params.GIT_SHA ?: '*/main', description: 'Git revision to build') string(name: 'ARTIFACT', defaultValue: 'clang-stage1-RA/latest', description: 'description') + booleanParam(name: 'SKIP_UPLOAD', defaultValue: params.SKIP_UPLOAD ?: false, description: 'Skip upload of built artifacts') } stages { @@ -36,32 +37,33 @@ stage('Build') { steps { timeout(600) { - sh ''' + sh """ set -u rm -rf build.properties cd llvm-project git tag -a -m "First Commit" first_commit 97724f18c79c7cc81ced24239eb5e883bf1398ef || true - git_desc=$(git describe --match "first_commit") - export GIT_DISTANCE=$(echo ${git_desc} | cut -f 2 -d "-") + git_desc=\$(git describe --match "first_commit") + export GIT_DISTANCE=\$(echo \${git_desc} | cut -f 2 -d "-") - sha=$(echo ${git_desc} | cut -f 3 -d "-") - export GIT_SHA=${sha:1} + sha=\$(echo \${git_desc} | cut -f 3 -d "-") + export GIT_SHA=\${sha:1} cd - - echo "ARTIFACT=$JOB_NAME/clang-d$GIT_DISTANCE-g$GIT_SHA-t$BUILD_ID-b$BUILD_NUMBER.tar.gz" > build.properties + echo "ARTIFACT=\$JOB_NAME/clang-d\$GIT_DISTANCE-g\$GIT_SHA-t\$BUILD_ID-b\$BUILD_NUMBER.tar.gz" > build.properties - export PATH=$PATH:/usr/bin:/usr/local/bin + export PATH=\$PATH:/usr/bin:/usr/local/bin rm -rf clang-build clang-install *.tar.gz python llvm-zorg/zorg/jenkins/monorepo_build.py fetch python llvm-zorg/zorg/jenkins/monorepo_build.py clang build \ --thinlto --projects="clang;compiler-rt" \ - --cmake-flag="-DCMAKE_DSYMUTIL=$WORKSPACE/host-compiler/bin/dsymutil" - ''' + --cmake-flag="-DCMAKE_DSYMUTIL=\$WORKSPACE/host-compiler/bin/dsymutil" \ + ${params.SKIP_UPLOAD ? '--noupload' : ''} + """ } } }