| # Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """This module contains constants used by cbuildbot and related code.""" |
| |
| import os |
| |
| SOURCE_ROOT = os.path.dirname(os.path.abspath(__file__)) |
| SOURCE_ROOT = os.path.realpath(os.path.join(SOURCE_ROOT, '..', '..')) |
| CROSUTILS_DIR = os.path.join(SOURCE_ROOT, 'src/scripts') |
| CHROMITE_BIN_SUBDIR = 'chromite/bin' |
| CHROMITE_BIN_DIR = os.path.join(SOURCE_ROOT, CHROMITE_BIN_SUBDIR) |
| PATH_TO_CBUILDBOT = os.path.join(CHROMITE_BIN_SUBDIR, 'cbuildbot') |
| DEFAULT_CHROOT_DIR = 'chroot' |
| |
| GERRIT_PORT = '29418' |
| GERRIT_INT_PORT = '29419' |
| |
| GERRIT_HOST = 'gerrit.chromium.org' |
| GERRIT_INT_HOST = 'gerrit-int.chromium.org' |
| GIT_HOST = 'git.chromium.org' |
| |
| GERRIT_SSH_URL = 'ssh://%s:%s' % (GERRIT_HOST, GERRIT_PORT) |
| GERRIT_INT_SSH_URL = 'ssh://%s:%s' % (GERRIT_INT_HOST, GERRIT_INT_PORT) |
| GERRIT_HTTP_URL = 'https://%s' % GERRIT_HOST |
| GIT_HTTP_URL = 'https://%s/git' % GIT_HOST |
| |
| REPO_PROJECT = 'external/repo' |
| REPO_URL = '%s/%s' % (GIT_HTTP_URL, REPO_PROJECT) |
| |
| CHROMITE_PROJECT = 'chromiumos/chromite' |
| CHROMITE_URL = '%s/%s' % (GIT_HTTP_URL, CHROMITE_PROJECT) |
| |
| MANIFEST_URL = GIT_HTTP_URL + '/chromiumos/manifest' |
| MANIFEST_INT_URL = GERRIT_INT_SSH_URL + '/chromeos/manifest-internal' |
| |
| # TODO(sosa): Move to manifest-versions-external once its created |
| MANIFEST_VERSIONS_SUFFIX = '/chromiumos/manifest-versions' |
| MANIFEST_VERSIONS_INT_SUFFIX = '/chromeos/manifest-versions' |
| |
| PATCH_BRANCH = 'patch_branch' |
| STABLE_EBUILD_BRANCH = 'stabilizing_branch' |
| MERGE_BRANCH = 'merge_branch' |
| |
| # These branches are deleted at the beginning of every buildbot run. |
| CREATED_BRANCHES = [ |
| PATCH_BRANCH, |
| STABLE_EBUILD_BRANCH, |
| MERGE_BRANCH |
| ] |
| |
| # Constants for uprevving Chrome |
| |
| # Builds and validates _alpha ebuilds. These builds sync to the latest |
| # revsion of the Chromium src tree and build with that checkout. |
| CHROME_REV_TOT = 'tot' |
| |
| # Builds and validates chrome at a given revision through cbuildbot |
| # --chrome_version |
| CHROME_REV_SPEC = 'spec' |
| |
| # Builds and validates the latest Chromium release as defined by |
| # ~/trunk/releases in the Chrome src tree. These ebuilds are suffixed with rc. |
| CHROME_REV_LATEST = 'latest_release' |
| |
| # Builds and validates the latest Chromium release for a specific Chromium |
| # branch that we want to watch. These ebuilds are suffixed with rc. |
| CHROME_REV_STICKY = 'stable_release' |
| |
| # Builds and validates Chromium for a pre-populated directory. |
| # Also uses _alpha, since portage doesn't have anything lower. |
| CHROME_REV_LOCAL = 'local' |
| VALID_CHROME_REVISIONS = [CHROME_REV_TOT, CHROME_REV_LATEST, |
| CHROME_REV_STICKY, CHROME_REV_LOCAL, CHROME_REV_SPEC] |
| |
| # Build types supported. |
| |
| # TODO(sosa): Deprecate PFQ type. |
| # Incremental builds that are built using binary packages when available. |
| # These builds have less validation than other build types. |
| INCREMENTAL_TYPE = 'binary' |
| |
| # These builds serve as PFQ builders. This is being deprecated. |
| PFQ_TYPE = 'pfq' |
| |
| # TODO(sosa): Deprecate CQ type. |
| # Commit Queue type that is similar to PFQ_TYPE but uses Commit Queue sync |
| # logic. |
| COMMIT_QUEUE_TYPE = 'commit-queue' |
| |
| # Hybrid Commit and PFQ type. Ultimate protection. |
| PALADIN_TYPE = 'paladin' |
| |
| # Chrome PFQ type. Incremental build type that builds and validates new |
| # versions of Chrome. Only valid if set with CHROME_REV. See |
| # VALID_CHROME_REVISIONS for more information. |
| CHROME_PFQ_TYPE = 'chrome' |
| |
| # Builds from source and non-incremental. This builds fully wipe their |
| # chroot before the start of every build and no not use a BINHOST. |
| BUILD_FROM_SOURCE_TYPE = 'full' |
| |
| # Full but with versioned logic. |
| CANARY_TYPE = 'canary' |
| |
| # Special build type for Chroot builders. These builds focus on building |
| # toolchains and validate that they work. |
| CHROOT_BUILDER_TYPE = 'chroot' |
| CHROOT_BUILDER_BOARD = 'amd64-host' |
| |
| # Build that refreshes the online Portage package status spreadsheet. |
| REFRESH_PACKAGES_TYPE = 'refresh_packages' |
| |
| # Define pool of machines for Hardware tests. |
| HWTEST_MACH_POOL = 'bvt' |
| HWTEST_PALADIN_POOL = 'cq-bvt' |
| HWTEST_CHROME_PFQ_POOL = 'chromepfq' |
| |
| # Defines VM Test types. |
| SMOKE_SUITE_TEST_TYPE = 'smoke_suite' |
| SIMPLE_AU_TEST_TYPE = 'pfq_suite' |
| FULL_AU_TEST_TYPE = 'full_suite' |
| |
| VALID_AU_TEST_TYPES = [SMOKE_SUITE_TEST_TYPE, SIMPLE_AU_TEST_TYPE, |
| FULL_AU_TEST_TYPE] |
| |
| VERSION_FILE = os.path.join('src/third_party/chromiumos-overlay', |
| 'chromeos/config/chromeos_version.sh') |
| |
| BOTH_OVERLAYS = 'both' |
| PUBLIC_OVERLAYS = 'public' |
| PRIVATE_OVERLAYS = 'private' |
| VALID_OVERLAYS = [BOTH_OVERLAYS, PUBLIC_OVERLAYS, PRIVATE_OVERLAYS, None] |
| |
| # Common default logging settings for use with the logging module. |
| LOGGER_FMT = '%(asctime)s: %(levelname)s: %(message)s' |
| LOGGER_DATE_FMT = '%H:%M:%S' |
| |
| # Used by remote patch serialization/deserialzation. |
| INTERNAL_PATCH_TAG = 'i' |
| EXTERNAL_PATCH_TAG = 'e' |
| |
| # Default gerrit query used to find changes for CQ. |
| DEFAULT_CQ_READY_QUERY = ('status:open AND CodeReview=+2 AND Verified=+1 ' |
| 'AND CommitReady=+1 AND age:5m ' |
| 'AND NOT ( CodeReview=-2 OR Verified=-1 )') |
| |
| # Path to gsutil on builders. |
| GSUTIL_BIN = '/b/build/third_party/gsutil/gsutil' |