| Index: commit-queue/verification/trigger_experimental_try_job.py
|
| ===================================================================
|
| --- commit-queue/verification/trigger_experimental_try_job.py (revision 0)
|
| +++ commit-queue/verification/trigger_experimental_try_job.py (revision 0)
|
| @@ -0,0 +1,38 @@
|
| +# coding=utf8
|
| +# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +"""Triggers experimental try jobs on Rietveld without monitoring the results."""
|
| +
|
| +import random
|
| +import urllib2
|
| +
|
| +from verification import base
|
| +
|
| +
|
| +class TriggerExperimentalTryJobVerifier(base.Verifier):
|
| + name = 'trigger experimental try job'
|
| +
|
| + def __init__(self, context, percentage, try_job_description):
|
| + super(TriggerExperimentalTryJobVerifier, self).__init__()
|
| + self.context = context
|
| + self.percentage = percentage
|
| + self.try_job_description = try_job_description
|
| +
|
| + def verify(self, pending):
|
| + if random.random() < self.percentage:
|
| + try:
|
| + self.context.rietveld.trigger_try_jobs(
|
| + pending.issue, pending.patchset, 'CQ', False, 'HEAD',
|
| + self.try_job_description)
|
| + except urllib2.HTTPError as e:
|
| + if e.code not in (400, 500, 503):
|
| + raise
|
| +
|
| + # Always succeed - experimental try jobs are not stable enough
|
| + # to block CQ on them, but triggering builds allows developers
|
| + # to get enough real-world traffic to get them to stable state.
|
| + pending.verifications[self.name] = base.SimpleStatus(base.SUCCEEDED)
|
| +
|
| + def update_status(self, queue):
|
| + pass
|
|
|
| Property changes on: commit-queue/verification/trigger_experimental_try_job.py
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|