[zorg] r367630 - Update test suite jobs to use monorepo.
Jessica Paquette via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 1 15:47:52 PDT 2019
Author: paquette
Date: Thu Aug 1 15:47:52 2019
New Revision: 367630
URL: http://llvm.org/viewvc/llvm-project?rev=367630&view=rev
Log:
Update test suite jobs to use monorepo.
Changes to relevant test generator files:
common.groovy:
- Kill all the SVN stuff and use the monorepo instead.
- Use GIT_SHA/GIT_DISTANCE
relay.groovy:
- Set/use GIT_SHA and GIT_DISTANCE instead of LLVM_REV
Modified:
zorg/trunk/zorg/jenkins/common.groovy
zorg/trunk/zorg/jenkins/relay.groovy
Modified: zorg/trunk/zorg/jenkins/common.groovy
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/common.groovy?rev=367630&r1=367629&r2=367630&view=diff
==============================================================================
--- zorg/trunk/zorg/jenkins/common.groovy (original)
+++ zorg/trunk/zorg/jenkins/common.groovy Thu Aug 1 15:47:52 2019
@@ -17,33 +17,24 @@ private def render_template(template_tex
return template_eng.toString()
}
-// Checkout an svn repository with depth 0 to get at the changelog without
-// actually writing files to disk.
-private def pseudo_svn_checkout(name, url) {
- dir("pseudo-checkout-${name}") {
+// Clone llvm-project.git get the blamelist filled. This is necessary for relay
+// jobs as with current jenkins we do not want to trigger the relay job with any
+// parameters or blamelists. (If we would do that then jenkins won't merge
+// requests anymore and we would be forced to test every single revision for
+// which we don't have the hardware right now).
+//
+// FIXME: Make this do a --bare or --mirror clone instead of a full clone. This
+// is very space-intensive.
+private def clone_llvm_project(name, sha) {
+ dir("pseudo-checkout-${name}") {
checkout poll: false, changelog: true, scm: [
- $class: 'SubversionSCM',
- locations: [[
- remote: url,
- depthOption: 'empty',
- ]]
+ $class: 'GitSCM',
+ branches: [[name: sha ]],
+ userRemoteConfigs: [[url: 'https://github.com/llvm/llvm-project.git']]
]
}
}
-// Do a pseudo checkout of an llvm repo to get the blamelist filled. This is
-// necessary for relay jobs as with current jenkins we do not want to trigger
-// the relay job with any parameters or blamelists. (If we would do that then
-// jenkins won't merge requests anymore and we would be forced to test
-// every single revision for which we don't have the hardware right now).
-private def pseudo_clang_checkout(revision) {
- pseudo_svn_checkout 'llvm', "http://llvm.org/svn/llvm-project/llvm/trunk@${revision}"
- pseudo_svn_checkout 'cfe', "http://llvm.org/svn/llvm-project/cfe/trunk@${revision}"
- pseudo_svn_checkout 'clang-tools-extra', "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk@${revision}"
- pseudo_svn_checkout 'compiler-rt', "http://llvm.org/svn/llvm-project/compiler-rt/trunk@${revision}"
- pseudo_svn_checkout 'libcxx', "http://llvm.org/svn/llvm-project/libcxx/trunk@${revision}"
-}
-
private def post_build() {
// Analyze build log.
def base_url = 'http://labmaster2:8080/green'
@@ -113,13 +104,14 @@ def benchmark_pipeline(label, body) {
properties([
parameters([
string(name: 'ARTIFACT'),
- string(name: 'LLVM_REV'),
+ string(name: 'GIT_DISTANCE'),
+ string(name: 'GIT_SHA')
])
])
currentBuild.displayName = basename(params.ARTIFACT)
task_pipeline(label) {
- pseudo_clang_checkout(params.LLVM_REV)
+ clone_llvm_project('llvm-project', params.GIT_SHA)
body()
}
}
Modified: zorg/trunk/zorg/jenkins/relay.groovy
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/relay.groovy?rev=367630&r1=367629&r2=367630&view=diff
==============================================================================
--- zorg/trunk/zorg/jenkins/relay.groovy (original)
+++ zorg/trunk/zorg/jenkins/relay.groovy Thu Aug 1 15:47:52 2019
@@ -29,7 +29,7 @@ curl -fksSO "${last_good_properties_url}
"""
def props = readProperties file: propfile
def artifact = "http://labmaster2.local/artifacts/${props.ARTIFACT}"
- currentBuild.setDisplayName("r${props.LLVM_REV}")
+ currentBuild.setDisplayName("${props.GIT_DISTANCE}-${props.GIT_SHA}")
// Trigger all jobs with names matching the `job_pattern` regex.
def joblist = get_matching_jobs(job_pattern)
@@ -43,8 +43,11 @@ curl -fksSO "${last_good_properties_url}
name: 'ARTIFACT',
value: artifact],
[$class: 'StringParameterValue',
- name: 'LLVM_REV',
- value: props.LLVM_REV],
+ name: 'GIT_SHA',
+ value: props.GIT_SHA],
+ [$class: 'StringParameterValue',
+ name: 'GIT_DISTANCE',
+ value: props.GIT_DISTANCE],
]
build job: jobname, parameters: job_params
}
More information about the llvm-commits
mailing list