[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