Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(725)

Unified Diff: commit-queue/projects.py

Issue 135363007: Delete public commit queue to avoid confusion after move to internal repo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « commit-queue/post_processors/chromium_copyright.py ('k') | commit-queue/sig_handler.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: commit-queue/projects.py
===================================================================
--- commit-queue/projects.py (revision 249146)
+++ commit-queue/projects.py (working copy)
@@ -1,778 +0,0 @@
-# Copyright (c) 2012 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.
-"""Define the supported projects."""
-
-import json
-import logging
-import os
-import re
-import sys
-import urllib2
-
-import find_depot_tools # pylint: disable=W0611
-import checkout
-
-import async_push
-import context
-import errors
-import pending_manager
-from post_processors import chromium_copyright
-from verification import presubmit_check
-from verification import project_base
-from verification import reviewer_lgtm
-from verification import tree_status
-from verification import trigger_experimental_try_job
-from verification import try_job_steps
-from verification import try_job_on_rietveld
-from verification import try_server
-
-
-ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
-INTERNAL_DIR = os.path.abspath(
- os.path.join(ROOT_DIR, os.pardir, 'commit-queue-internal'))
-
-# These come from commit-queue in the internal repo.
-if os.path.isdir(INTERNAL_DIR):
- sys.path.insert(0, INTERNAL_DIR)
- import chromium_committers # pylint: disable=F0401
- import gyp_committers # pylint: disable=F0401
- import nacl_committers # pylint: disable=F0401
- import skia_committers # pylint: disable=F0401
-else:
- print >> sys.stderr, (
- 'Failed to find commit-queue-internal; will fail to start!')
- chromium_committers = None
- gyp_committers = None
- nacl_committers = None
- skia_committers = None
-
-
-# It's tricky here because 'chrome' is remapped to 'svn' on src.chromium.org but
-# the other repositories keep their repository name. So don't list it here.
-SVN_HOST_ALIASES = [
- 'svn://svn.chromium.org',
- 'svn://chrome-svn',
- 'svn://chrome-svn.corp',
- 'svn://chrome-svn.corp.google.com'
-]
-
-CHROME_SVN_BASES = [item + '/chrome' for item in SVN_HOST_ALIASES] + [
- 'http://src.chromium.org/svn',
- 'https://src.chromium.org/svn',
- 'http://src.chromium.org/chrome',
- 'https://src.chromium.org/chrome',
-]
-
-BLINK_SVN_BASES = [item + '/blink' for item in SVN_HOST_ALIASES] + [
- 'http://src.chromium.org/blink',
- 'https://src.chromium.org/blink',
-]
-
-# Steps that are never considered to determine the try job success.
-IGNORED_STEPS = (
- 'svnkill', 'update_scripts', 'taskkill', 'cleanup_temp', 'process_dumps')
-
-# To be used in a regexp to match the branch part of an git url.
-BRANCH_MATCH = r'\@[a-zA-Z0-9\-_\.]+'
-
-
-def _read_lines(filepath, what):
- try:
- return open(filepath).readlines()
- except IOError:
- raise errors.ConfigurationError('Put the %s in %s' % (what, filepath))
-
-
-def _get_chromium_committers():
- """Gets the list of all allowed committers."""
- if not chromium_committers:
- # Fake values.
- entries = ['georges']
- else:
- entries = chromium_committers.get_list()
- logging.info('Found %d committers' % len(entries))
- return ['^%s$' % re.escape(i) for i in entries]
-
-
-def _get_skia_committers():
- """Gets the list of all allowed committers."""
- if not skia_committers:
- # Fake values.
- entries = ['georges']
- else:
- entries = skia_committers.get_list()
- logging.info('Found %d committers' % len(entries))
- return ['^%s$' % re.escape(i) for i in entries]
-
-
-def _get_nacl_committers():
- """Gets the list of all allowed committers."""
- if not nacl_committers:
- # Fake values.
- entries = ['georges']
- else:
- entries = nacl_committers.get_list()
- logging.info('Found %d committers' % len(entries))
- return ['^%s$' % re.escape(i) for i in entries]
-
-
-def _get_gyp_committers():
- """Gets the list of all allowed committers."""
- if not gyp_committers:
- # Fake values.
- entries = ['georges']
- else:
- entries = gyp_committers.get_list()
- logging.info('Found %d committers' % len(entries))
- return ['^%s$' % re.escape(i) for i in entries]
-
-
-def _chromium_lkgr():
- try:
- return int(
- urllib2.urlopen('https://chromium-status.appspot.com/lkgr').read())
- except (ValueError, IOError):
- return None
-
-
-def _nacl_lkgr():
- try:
- return int(
- urllib2.urlopen('https://nativeclient-status.appspot.com/lkgr').read())
- except (ValueError, IOError):
- return None
-
-
-def _chromium_status_pwd(root_dir):
- filepath = os.path.join(root_dir, '.chromium_status_pwd')
- return _read_lines(filepath, 'chromium-status password')[0].strip()
-
-
-def _gen_blink(user, root_dir, rietveld_obj, no_try):
- """Generates a PendingManager commit queue for blink/trunk."""
- local_checkout = checkout.SvnCheckout(
- root_dir,
- 'blink',
- user,
- None,
- 'svn://svn.chromium.org/blink/trunk',
- [])
- context_obj = context.Context(
- rietveld_obj,
- local_checkout,
- async_push.AsyncPush(
- 'https://chromium-status.appspot.com/cq',
- _chromium_status_pwd(root_dir)))
-
- project_bases = [
- '^%s/trunk(|/.*)$' % re.escape(base) for base in BLINK_SVN_BASES]
- project_bases.append(
- r'^https?\:\/\/chromium.googlesource.com\/chromium\/blink(?:\.git)?%s$' %
- BRANCH_MATCH)
- verifiers_no_patch = [
- project_base.ProjectBaseUrlVerifier(project_bases),
- reviewer_lgtm.ReviewerLgtmVerifier(
- _get_chromium_committers(),
- [re.escape(user)]),
- ]
- verifiers = []
- prereq_builder = 'blink_presubmit'
- prereq_tests = ['presubmit']
- step_verifiers = [
- try_job_steps.TryJobSteps(builder_name=prereq_builder,
- steps=prereq_tests)]
- if not no_try:
- blink_tests = [
- 'blink_heap_unittests',
- 'blink_platform_unittests',
- 'webkit_lint',
- 'webkit_python_tests',
- 'webkit_tests',
- 'webkit_unit_tests',
- 'wtf_unittests',
- ]
-
- # A "compile-only" bot runs the webkit_lint tests (which are fast)
- # in order to pick up the default build targets. We don't use the
- # "compile" step because that will build all the chromium targets, not
- # just the blink-specific ones.
- compile_only = [ 'webkit_lint' ]
-
- builders_and_tests = {
- 'mac_layout': compile_only,
- 'win_layout': compile_only,
-
- 'linux_blink': blink_tests,
- 'linux_blink_rel': blink_tests,
- 'mac_blink_rel': blink_tests,
- 'win_blink_rel': blink_tests,
- }
-
- step_verifiers += [
- try_job_steps.TryJobSteps(builder_name=b, prereq_builder=prereq_builder,
- prereq_tests=prereq_tests, steps=s)
- for b, s in builders_and_tests.iteritems()
- ]
-
- verifiers.append(try_job_on_rietveld.TryRunnerRietveld(
- context_obj,
- 'http://build.chromium.org/p/tryserver.chromium/',
- user,
- step_verifiers,
- IGNORED_STEPS,
- 'src'))
-
- verifiers.append(tree_status.TreeStatusVerifier(
- 'https://blink-status.appspot.com'))
- return pending_manager.PendingManager(
- context_obj,
- verifiers_no_patch,
- verifiers)
-
-
-def _gen_chromium(user, root_dir, rietveld_obj, no_try):
- """Generates a PendingManager commit queue for chrome/trunk/src."""
- local_checkout = checkout.SvnCheckout(
- root_dir,
- 'chromium',
- user,
- None,
- 'svn://svn.chromium.org/chrome/trunk/src',
- [chromium_copyright.process])
- context_obj = context.Context(
- rietveld_obj,
- local_checkout,
- async_push.AsyncPush(
- 'https://chromium-status.appspot.com/cq',
- _chromium_status_pwd(root_dir)))
-
- project_bases = [
- '^%s/trunk/src(|/.*)$' % re.escape(base) for base in CHROME_SVN_BASES]
-
- aliases = (
- # Old path.
- 'git.chromium.org/git/chromium',
- # New path.
- 'git.chromium.org/chromium/src',
- 'chromium.googlesource.com/chromium/src',
- 'chromium.googlesource.com/a/chromium/src',
- )
- project_bases.extend(
- r'^https?\:\/\/%s(?:\.git)?%s$' % (re.escape(i), BRANCH_MATCH)
- for i in aliases)
- verifiers_no_patch = [
- project_base.ProjectBaseUrlVerifier(project_bases),
- reviewer_lgtm.ReviewerLgtmVerifier(
- _get_chromium_committers(),
- [re.escape(user)]),
- ]
- verifiers = []
- prereq_builder = 'chromium_presubmit'
- prereq_tests = ['presubmit']
- step_verifiers = [
- try_job_steps.TryJobSteps(builder_name=prereq_builder,
- steps=prereq_tests)]
- if not no_try:
- # To add tests to this list, they MUST be in
- # /chrome/trunk/tools/build/masters/master.chromium/master_gatekeeper_cfg.py
- # or somehow close the tree whenever they break.
- standard_tests = [
- 'base_unittests',
- 'browser_tests',
- 'cacheinvalidation_unittests',
- 'check_deps',
- 'check_deps2git',
- 'content_browsertests',
- 'content_unittests',
- 'crypto_unittests',
- #'gfx_unittests',
- # Broken in release.
- #'url_unittests',
- 'gpu_unittests',
- 'ipc_tests',
- 'interactive_ui_tests',
- 'jingle_unittests',
- 'media_unittests',
- 'net_unittests',
- 'ppapi_unittests',
- 'printing_unittests',
- 'sql_unittests',
- 'sync_unit_tests',
- 'unit_tests',
- #'webkit_unit_tests',
- ]
- # Use a smaller set of tests for *_aura, since there's a lot of overlap with
- # the corresponding *_rel builders.
- # Note: *_aura are Release builders even if their names convey otherwise.
- linux_aura_tests = [
- 'app_list_unittests',
- 'aura_unittests',
- 'browser_tests',
- 'compositor_unittests',
- 'content_browsertests',
- 'content_unittests',
- 'events_unittests',
- 'interactive_ui_tests',
- 'unit_tests',
- ]
- builders_and_tests = {
- # TODO(maruel): Figure out a way to run 'sizes' where people can
- # effectively update the perf expectation correctly. This requires a
- # clobber=True build running 'sizes'. 'sizes' is not accurate with
- # incremental build. Reference:
- # http://chromium.org/developers/tree-sheriffs/perf-sheriffs.
- # TODO(maruel): An option would be to run 'sizes' but not count a failure
- # of this step as a try job failure.
- 'android_dbg': ['slave_steps'],
- 'android_clang_dbg': ['slave_steps'],
- 'android_aosp': ['compile'],
- 'ios_dbg_simulator': [
- 'compile',
- 'base_unittests',
- 'components_unittests',
- 'content_unittests',
- 'crypto_unittests',
- 'url_unittests',
- 'net_unittests',
- 'sql_unittests',
- 'ui_unittests',
- ],
- 'ios_rel_device': ['compile'],
- 'ios_rel_device_ninja': ['compile'],
- 'linux_aura': linux_aura_tests,
- 'linux_clang': ['compile'],
- 'linux_chromeos_clang': ['compile'],
- # Note: It is a Release builder even if its name convey otherwise.
- 'linux_chromeos': standard_tests + [
- 'app_list_unittests',
- 'aura_unittests',
- 'ash_unittests',
- 'chromeos_unittests',
- 'components_unittests',
- 'dbus_unittests',
- 'device_unittests',
- 'events_unittests',
- 'google_apis_unittests',
- 'sandbox_linux_unittests',
- ],
- 'linux_rel': standard_tests + [
- 'cc_unittests',
- 'chromedriver_unittests',
- 'components_unittests',
- 'google_apis_unittests',
- 'nacl_integration',
- 'remoting_unittests',
- 'sandbox_linux_unittests',
- 'sync_integration_tests',
- 'telemetry_perf_unittests',
- 'telemetry_unittests',
- ],
- 'mac': ['compile'],
- 'mac_rel': standard_tests + [
- 'app_list_unittests',
- 'cc_unittests',
- 'chromedriver_unittests',
- 'components_unittests',
- 'google_apis_unittests',
- 'message_center_unittests',
- 'nacl_integration',
- 'remoting_unittests',
- 'sync_integration_tests',
- 'telemetry_perf_unittests',
- 'telemetry_unittests',
- ],
- 'win': ['compile'],
- 'win_rel': standard_tests + [
- 'app_list_unittests',
- 'ash_unittests',
- 'aura_unittests',
- 'cc_unittests',
- 'chrome_elf_unittests',
- 'chromedriver_unittests',
- 'components_unittests',
- 'compositor_unittests',
- 'events_unittests',
- 'google_apis_unittests',
- 'installer_util_unittests',
- 'mini_installer_test',
- 'nacl_integration',
- 'remoting_unittests',
- 'sync_integration_tests',
- 'telemetry_perf_unittests',
- 'telemetry_unittests',
- 'views_unittests',
- ],
- 'win_x64_rel': [
- 'base_unittests',
- ],
- }
-
- swarm_enabled_tests = (
- 'base_unittests',
- 'browser_tests',
- 'interactive_ui_tests',
- 'net_unittests',
- 'unit_tests',
- )
-
- # pylint: disable=W0612
- swarm_test_map = dict(
- (test, test + '_swarm') for test in swarm_enabled_tests)
-
- # Commenting out the items below will make the CQ not use swarm for its
- # execution. Uncomment to make the CQ use Swarming again.
- swarm_enabled_builders_and_tests = {
- ('linux_rel', 'linux_swarm_triggered'): swarm_test_map,
- ('mac_rel', 'mac_swarm_triggered'): swarm_test_map,
- ('win_rel', 'win_swarm_triggered'): swarm_test_map,
- }
-
- step_verifiers += [
- try_job_steps.TryJobSteps(
- builder_name=b, prereq_builder=prereq_builder,
- prereq_tests=prereq_tests, steps=s)
- for b, s in builders_and_tests.iteritems()
- if b not in swarm_enabled_builders_and_tests
- ] + [
- try_job_steps.TryJobTriggeredSteps(
- builder_name='android_dbg_triggered_tests',
- trigger_name='android_dbg',
- prereq_builder=prereq_builder,
- prereq_tests=prereq_tests,
- steps={'slave_steps': 'slave_steps'}),
- ]
-
- # Add the swarm enabled builders with swarm accepted tests.
- for (builder, triggered), builder_swarm_enabled_tests in (
- swarm_enabled_builders_and_tests.iteritems()):
- regular_tests = list(set(builders_and_tests[builder]) -
- set(builder_swarm_enabled_tests))
-
- step_verifiers.append(
- try_job_steps.TryJobTriggeredOrNormalSteps(
- builder_name=triggered,
- trigger_name=builder,
- prereq_builder=prereq_builder,
- prereq_tests=prereq_tests,
- steps=builder_swarm_enabled_tests,
- trigger_bot_steps=regular_tests,
- use_triggered_bot=False))
-
- # Experimental recipe-based Chromium trybots. To avoid possible capacity
- # problems, only enable for a small percentage of try runs.
- #
- # Note how we pass revision=None . In presence of safesync_url
- # this makes a difference: no revision uses safesync_url,
- # while HEAD ignores it and always fetches latest revision.
- verifiers.append(
- trigger_experimental_try_job.TriggerExperimentalTryJobVerifier(
- context_obj,
- percentage=0.25,
- revision=None,
- try_job_description={
- 'linux_chromium_rel': ['defaulttests'],
- 'mac_chromium_rel': ['defaulttests'],
- }))
-
- verifiers.append(try_job_on_rietveld.TryRunnerRietveld(
- context_obj,
- 'http://build.chromium.org/p/tryserver.chromium/',
- user,
- step_verifiers,
- IGNORED_STEPS,
- 'src'))
-
- verifiers.append(tree_status.TreeStatusVerifier(
- 'https://chromium-status.appspot.com'))
- return pending_manager.PendingManager(
- context_obj,
- verifiers_no_patch,
- verifiers)
-
-
-def _skia_status_pwd(root_dir):
- filepath = os.path.join(root_dir, '.skia_status_pwd')
- return _read_lines(filepath, 'skia-status password')[0].strip()
-
-
-def _gen_skia(user, root_dir, rietveld_obj, no_try):
- """Generates a PendingManager commit queue for Skia.
-
- Adds the following verifiers to the PendingManager:
- * ProjectBaseUrlVerifier
- * ReviewerLgtmVerifier
- * PresubmitCheckVerifier
- * TreeStatusVerifier
- * TryRunnerRietveld (runs compile trybots)
- """
- naked_url = '://skia.googlecode.com/svn/trunk'
- local_checkout = checkout.SvnCheckout(
- root_dir,
- 'skia',
- user,
- None,
- 'https' + naked_url)
- context_obj = context.Context(
- rietveld_obj,
- local_checkout,
- async_push.AsyncPush(
- 'https://skia-tree-status.appspot.com/cq',
- _skia_status_pwd(root_dir)),
- server_hooks_missing=True)
-
- project_bases = [
- '^%s(|/.*)$' % re.escape(base + naked_url) for base in ('http', 'https')
- ]
- project_bases.append(
- r'^https?\:\/\/skia.googlesource.com\/skia(?:\.git)?%s$' %
- BRANCH_MATCH)
- verifiers_no_patch = [
- project_base.ProjectBaseUrlVerifier(project_bases),
- reviewer_lgtm.ReviewerLgtmVerifier(
- _get_skia_committers(),
- [re.escape(user)]),
- ]
- verifiers = [
- presubmit_check.PresubmitCheckVerifier(context_obj),
- tree_status.TreeStatusVerifier(
- 'https://skia-tree-status.appspot.com')
- ]
-
- if not no_try:
- # TODO(skia-infrastructure-team): Use skia.org instead of the below when it
- # is ready.
- try_server_url = 'http://108.170.219.164:10117/'
-
- # Get the required build steps and builder names from the try server.
- compile_required_build_steps = json.load(
- urllib2.urlopen(
- try_server_url + 'json/cq_required_steps'))['cq_required_steps']
- builder_names = list(
- json.load(urllib2.urlopen(try_server_url + 'json/cqtrybots')))
-
- step_verifiers = []
- for builder_name in builder_names:
- step_verifiers.append(
- try_job_steps.TryJobSteps(
- builder_name=builder_name,
- steps=compile_required_build_steps))
- verifiers.append(try_job_on_rietveld.TryRunnerRietveld(
- context_obj=context_obj,
- try_server_url=try_server_url,
- commit_user=user,
- step_verifiers=step_verifiers,
- ignored_steps=[],
- solution='src'))
-
- return pending_manager.PendingManager(
- context_obj,
- verifiers_no_patch,
- verifiers)
-
-
-def _gen_nacl(user, root_dir, rietveld_obj, no_try):
- """Generates a PendingManager commit queue for Native Client."""
- offset = 'trunk/src/native_client'
- local_checkout = checkout.SvnCheckout(
- root_dir,
- 'nacl',
- user,
- None,
- 'svn://svn.chromium.org/native_client/' + offset)
- context_obj = context.Context(
- rietveld_obj,
- local_checkout,
- async_push.AsyncPush(
- 'https://nativeclient-status.appspot.com/cq',
- _chromium_status_pwd(root_dir)))
-
- host_aliases = SVN_HOST_ALIASES + [
- 'http://src.chromium.org', 'https://src.chromium.org']
- svn_bases = [i + '/native_client' for i in host_aliases]
- project_bases = [
- '^%s/%s(|/.*)$' % (re.escape(base), offset) for base in svn_bases
- ]
- aliases = (
- 'git.chromium.org/native_client/src/native_client',
- 'chromium.googlesource.com/native_client/src/native_client',
- )
- project_bases.extend(
- r'^https?\:\/\/%s(?:\.git)?%s$' % (re.escape(i), BRANCH_MATCH)
- for i in aliases)
- verifiers_no_patch = [
- project_base.ProjectBaseUrlVerifier(project_bases),
- reviewer_lgtm.ReviewerLgtmVerifier(
- _get_nacl_committers(),
- [re.escape(user)]),
- ]
- verifiers = [
- presubmit_check.PresubmitCheckVerifier(context_obj),
- ]
- if not no_try:
- # Grab the list of all the builders here. The commit queue needs to know
- # which builders were triggered. TODO: makes this more automatic.
- url = 'http://build.chromium.org/p/tryserver.nacl/json/builders'
- builders_and_tests = dict(
- (key, []) for key in json.load(urllib2.urlopen(url))
- if (key.startswith('nacl-') and
- 'toolchain' not in key and
- 'valgrind' not in key and
- 'perf_panda' not in key and
- 'arm_hw' not in key and
- 'shared' not in key and
- 'coverage' not in key)
- )
- verifiers.append(try_server.TryRunnerSvn(
- context_obj,
- 'http://build.chromium.org/p/tryserver.nacl/',
- user,
- builders_and_tests,
- IGNORED_STEPS,
- 'native_client',
- ['--root', 'native_client'],
- _nacl_lkgr))
-
- verifiers.append(tree_status.TreeStatusVerifier(
- 'https://nativeclient-status.appspot.com'))
- return pending_manager.PendingManager(
- context_obj,
- verifiers_no_patch,
- verifiers)
-
-
-def _gen_gyp(user, root_dir, rietveld_obj, no_try):
- """Generates a PendingManager commit queue for GYP."""
- naked_url = '://gyp.googlecode.com/svn/trunk'
- local_checkout = checkout.SvnCheckout(
- root_dir,
- 'gyp',
- user,
- None,
- 'https' + naked_url)
- context_obj = context.Context(
- rietveld_obj,
- local_checkout,
- async_push.AsyncPush(
- 'https://chromium-status.appspot.com/cq/receiver',
- _chromium_status_pwd(root_dir)))
-
- project_bases = [
- '^%s(|/.*)$' % re.escape(base + naked_url) for base in ('http', 'https')
- ]
- verifiers_no_patch = [
- project_base.ProjectBaseUrlVerifier(project_bases),
- reviewer_lgtm.ReviewerLgtmVerifier(
- _get_gyp_committers(),
- [re.escape(user)]),
- ]
- verifiers = []
- if not no_try:
- # Grab the list of all the builders here. The commit queue needs to know
- # which builders were triggered. TODO: makes this more automatic.
- # GYP is using the Nacl try server.
- url = 'http://build.chromium.org/p/tryserver.nacl/json/builders'
- builders_and_tests = dict(
- (key, []) for key in json.load(urllib2.urlopen(url))
- if key.startswith('gyp-')
- )
- verifiers.append(try_server.TryRunnerSvn(
- context_obj,
- 'http://build.chromium.org/p/tryserver.nacl/',
- user,
- builders_and_tests,
- IGNORED_STEPS,
- 'gyp',
- ['--root', 'gyp'],
- lambda: None))
-
- verifiers.append(tree_status.TreeStatusVerifier(
- 'https://gyp-status.appspot.com/status'))
- return pending_manager.PendingManager(
- context_obj,
- verifiers_no_patch,
- verifiers)
-
-
-def _gen_tools(user, root_dir, rietveld_obj, _no_try):
- """Generates a PendingManager commit queue for everything under
- chrome/trunk/tools.
-
- These don't have a try server but have presubmit checks.
- """
- # Ignore no_try.
- path = 'tools'
- project_bases = [
- '^%s/trunk/%s(|/.*)$' % (re.escape(base), path)
- for base in CHROME_SVN_BASES
- ]
- aliases = (
- # Old path.
- 'git.chromium.org/git/chromium/tools',
- # New path.
- 'git.chromium.org/chromium/tools',
- 'chromium.googlesource.com/chromium/tools',
- 'chromium.googlesource.com/a/chromium/tools',
- )
- project_bases.extend(
- r'^https?\:\/\/%s\/([a-z0-9\-_]+)(?:\.git)?%s$' % (
- re.escape(i), BRANCH_MATCH) for i in aliases)
- return _internal_simple(path, project_bases, user, root_dir, rietveld_obj)
-
-
-def _gen_chromium_deps(user, root_dir, rietveld_obj, _no_try):
- """Generates a PendingManager commit queue for
- chrome/trunk/deps/.
- """
- # Ignore no_try.
- path = 'deps'
- project_bases = [
- '^%s/trunk/%s(|/.*)$' % (re.escape(base), path)
- for base in CHROME_SVN_BASES
- ]
- return _internal_simple(path, project_bases, user, root_dir, rietveld_obj)
-
-
-def _internal_simple(path, project_bases, user, root_dir, rietveld_obj):
- """Generates a PendingManager commit queue for chrome/trunk/tools/build."""
- local_checkout = checkout.SvnCheckout(
- root_dir,
- os.path.basename(path),
- user,
- None,
- 'svn://svn.chromium.org/chrome/trunk/' + path,
- [chromium_copyright.process])
- context_obj = context.Context(
- rietveld_obj,
- local_checkout,
- async_push.AsyncPush(
- 'https://chromium-status.appspot.com/cq',
- _chromium_status_pwd(root_dir)))
-
- verifiers_no_patch = [
- project_base.ProjectBaseUrlVerifier(project_bases),
- reviewer_lgtm.ReviewerLgtmVerifier(
- _get_chromium_committers(),
- [re.escape(user)]),
- ]
- verifiers = [
- presubmit_check.PresubmitCheckVerifier(context_obj, timeout=900),
- ]
-
- return pending_manager.PendingManager(
- context_obj,
- verifiers_no_patch,
- verifiers)
-
-
-def supported_projects():
- """List the projects that can be managed by the commit queue."""
- return sorted(
- x[5:] for x in dir(sys.modules[__name__]) if x.startswith('_gen_'))
-
-
-def load_project(project, user, root_dir, rietveld_obj, no_try):
- """Loads the specified project."""
- assert os.path.isabs(root_dir)
- return getattr(sys.modules[__name__], '_gen_' + project)(
- user, root_dir, rietveld_obj, no_try)
« no previous file with comments | « commit-queue/post_processors/chromium_copyright.py ('k') | commit-queue/sig_handler.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698