Repository: beam
Updated Branches:
  refs/heads/master 9e9300214 -> fefe153cd


Make the main seed job standalone


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/073601b0
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/073601b0
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/073601b0

Branch: refs/heads/master
Commit: 073601b019a99e16a0eec5a4a07209c3a876e77d
Parents: 9e93002
Author: Kenneth Knowles <k...@apache.org>
Authored: Thu Oct 19 15:55:03 2017 -0700
Committer: Kenneth Knowles <k...@apache.org>
Committed: Mon Oct 23 15:11:47 2017 -0700

----------------------------------------------------------------------
 .test-infra/jenkins/job_seed.groovy | 93 ++++++++++++++++++++++++++------
 1 file changed, 77 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/073601b0/.test-infra/jenkins/job_seed.groovy
----------------------------------------------------------------------
diff --git a/.test-infra/jenkins/job_seed.groovy 
b/.test-infra/jenkins/job_seed.groovy
index 2d1b07c..1ef4950 100644
--- a/.test-infra/jenkins/job_seed.groovy
+++ b/.test-infra/jenkins/job_seed.groovy
@@ -16,30 +16,91 @@
  * limitations under the License.
  */
 
-import common_job_properties
-
 // Defines the seed job, which creates or updates all other Jenkins projects.
 job('beam_SeedJob') {
   description('Automatically configures all Apache Beam Jenkins projects 
based' +
               ' on Jenkins DSL groovy files checked into the code repository.')
 
-  previousNames('beam_SeedJob_Main')
+  properties {
+    githubProjectUrl('https://github.com/apache/beam/')
+  }
+
+  // Restrict to only run on Jenkins executors labeled 'beam'
+  label('beam')
+
+  logRotator {
+    daysToKeep(14)
+  }
+
+  scm {
+    git {
+      remote {
+        github('apache/beam')
+
+        // ${ghprBuildId} is not interpolated by groovy, but passed through to 
Jenkins where it
+        // refers to the environment variable
+        refspec(['+refs/head/*:refs/remotes/origin/*',
+                 
'+refs/pull/${ghprPullId}/*:refs/remotes/origin/pr/${ghprPullId}/*']
+                .join(' '))
+
+        // The variable ${sha1} is not interpolated by groovy, but a parameter 
of the Jenkins job
+        branch('${sha1}')
+
+        extensions {
+          cleanAfterCheckout()
+        }
+      }
+    }
+  }
+
+  parameters {
+    // Setup for running this job from a pull request
+    stringParam(
+        'sha1',
+        'master',
+        'Commit id or refname (eg: origin/pr/4001/head) you want to build 
against.')
+  }
+
+  wrappers {
+    timeout {
+      absolute(5)
+      abortBuild()
+    }
+  }
+
+  triggers {
+    // Run once per day
+    cron('0 */6 * * *')
 
-  // Set common parameters.
-  common_job_properties.setTopLevelMainJobProperties(delegate)
+    githubPullRequest {
+      admins(['asfbot'])
+      useGitHubHooks()
+      orgWhitelist(['apache'])
+      allowMembersOfWhitelistedOrgsAsAdmin()
+      permitAll()
 
-  // This is a post-commit job that runs once per day, not for every push.
-  common_job_properties.setPostCommit(
-      delegate,
-      '0 6 * * *',
-      false,
-      'd...@beam.apache.org')
+      // Also run when manually kicked on a pull request
+      triggerPhrase('Run Seed Job')
+      onlyTriggerPhrase()
 
-  // Allows triggering this build against pull requests.
-  common_job_properties.enablePhraseTriggeringFromPullRequest(
-    delegate,
-    'Seed Job',
-    'Run Seed Job')
+      extensions {
+        commitStatus {
+          context("Jenkins: Seed Job")
+        }
+
+        buildStatus {
+          completedStatus('SUCCESS', '--none--')
+          completedStatus('FAILURE', '--none--')
+          completedStatus('ERROR', '--none--')
+        }
+      }
+    }
+  }
+
+  // If anything goes wrong, mail the main dev list, because it is a big deal
+  publishers {
+    mailer('d...@beam.apache.org', false, true)
+  }
 
   steps {
     dsl {

Reply via email to