bug 1358601: set up CI builds and tests for DevEdition on mozilla-beta - fix build configuration and signing of DevEdition-on-beta builds. r=aki,rail

MozReview-Commit-ID: 2oaCCHJWU8W
This commit is contained in:
Ben Hearsum 2017-05-05 16:56:57 -04:00
Родитель 60baca157f
Коммит d27afef6b0
11 изменённых файлов: 97 добавлений и 9 удалений

Просмотреть файл

@ -1,3 +1,8 @@
if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
MOZ_AUTOMATION_UPDATE_PACKAGING=1
fi
. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt"
# Add-on signing is not required for DevEdition

Просмотреть файл

@ -1,3 +1,8 @@
if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
MOZ_AUTOMATION_UPDATE_PACKAGING=1
fi
. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt"
# Add-on signing is not required for DevEdition

Просмотреть файл

@ -1,3 +1,8 @@
if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
MOZ_AUTOMATION_UPDATE_PACKAGING=1
fi
. "$topsrcdir/browser/config/mozconfigs/macosx64/common-opt"
# Add-on signing is not required for DevEdition

Просмотреть файл

@ -1,3 +1,8 @@
if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
MOZ_AUTOMATION_UPDATE_PACKAGING=1
fi
. "$topsrcdir/build/mozconfig.win-common"
. "$topsrcdir/browser/config/mozconfigs/win32/common-opt"

Просмотреть файл

@ -1,3 +1,8 @@
if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
MOZ_AUTOMATION_UPDATE_PACKAGING=1
fi
. "$topsrcdir/build/mozconfig.win-common"
. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
. "$topsrcdir/browser/config/mozconfigs/win64/common-opt"

Просмотреть файл

@ -18,6 +18,7 @@ if test "$OS_ARCH" = "WINNT"; then
if ! test "$HAVE_64BIT_BUILD"; then
if test "$MOZ_UPDATE_CHANNEL" = "nightly" -o \
"$MOZ_UPDATE_CHANNEL" = "aurora" -o \
"$MOZ_UPDATE_CHANNEL" = "aurora-dev" -o \
"$MOZ_UPDATE_CHANNEL" = "beta" -o \
"$MOZ_UPDATE_CHANNEL" = "beta-dev" -o \
"$MOZ_UPDATE_CHANNEL" = "release" -o \

Просмотреть файл

@ -70,14 +70,17 @@ linux64/debug:
tooltool-downloads: public
need-xvfb: true
linux64-devedition/opt:
description: "Linux64 devedition Opt"
linux64-devedition-nightly/opt:
description: "Linux64 devedition Nightly"
attributes:
nightly: true
index:
product: devedition
job-name: linux64-opt
type: nightly
treeherder:
platform: linux64-devedition/opt
symbol: tc(B)
symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
implementation: docker-worker
@ -87,6 +90,7 @@ linux64-devedition/opt:
actions: [get-secrets build generate-build-stats check-test update]
config:
- builds/releng_base_linux_64_builds.py
- disable_signing.py
- balrog/production.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true
@ -169,14 +173,17 @@ linux/pgo:
tooltool-downloads: public
need-xvfb: true
linux-devedition/opt:
description: "Linux32 devedition Opt"
linux-devedition-nightly/opt:
description: "Linux32 devedition Nightly"
attributes:
nightly: true
index:
product: devedition
job-name: linux-opt
type: nightly
treeherder:
platform: linux32-devedition/opt
symbol: tc(B)
symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
implementation: docker-worker
@ -186,6 +193,7 @@ linux-devedition/opt:
actions: [get-secrets build generate-build-stats check-test update]
config:
- builds/releng_base_linux_32_builds.py
- disable_signing.py
- balrog/production.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true

Просмотреть файл

@ -103,6 +103,8 @@ _MOBILE_UPSTREAM_ARTIFACTS_SIGNED_MULTI = [
UPSTREAM_ARTIFACT_UNSIGNED_PATHS = {
'linux64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'linux-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'linux64-devedition-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'linux-devedition-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'android-x86-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'android-api-15-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
'macosx64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
@ -123,6 +125,14 @@ UPSTREAM_ARTIFACT_SIGNED_PATHS = {
"target.tar.bz2",
"target.tar.bz2.asc",
],
'linux64-devedition-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [
"target.tar.bz2",
"target.tar.bz2.asc",
],
'linux-devedition-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [
"target.tar.bz2",
"target.tar.bz2.asc",
],
'android-x86-nightly': ["en-US/target.apk"],
'android-api-15-nightly': ["en-US/target.apk"],
'macosx64-nightly': _DESKTOP_UPSTREAM_ARTIFACTS_SIGNED_EN_US + [

Просмотреть файл

@ -9,7 +9,7 @@ from __future__ import absolute_import, print_function, unicode_literals
from taskgraph.transforms.base import TransformSequence
from taskgraph.util.schema import validate_schema, Schema
from taskgraph.util.scriptworker import get_signing_cert_scope
from taskgraph.util.scriptworker import get_signing_cert_scope, get_devedition_signing_cert_scope
from taskgraph.transforms.task import task_description_schema
from voluptuous import Any, Required, Optional
@ -106,7 +106,14 @@ def make_task_description(config, jobs):
# Used for l10n attribute passthrough
attributes['chunk_locales'] = dep_job.attributes.get('chunk_locales')
signing_cert_scope = get_signing_cert_scope(config)
# This code wasn't originally written with the possibility of using different
# signing cert scopes for different platforms on the same branch. This isn't
# ideal, but it's what we currently have to make this possible.
if dep_job.attributes.get('build_platform') in set(['linux64-devedition-nightly', 'linux-devedition-nightly']):
signing_cert_scope = get_devedition_signing_cert_scope(config)
else:
signing_cert_scope = get_signing_cert_scope(config)
task = {
'label': label,
'description': "{} Signing".format(

Просмотреть файл

@ -24,7 +24,12 @@ VERSION_PATH = os.path.join(GECKO, "browser", "config", "version_display.txt")
"""Map signing scope aliases to sets of projects.
Currently m-c and m-a use nightly signing; m-b and m-r use release signing.
Currently m-c and DevEdition on m-b use nightly signing; Beta on m-b and m-r
use release signing. These data structures aren't set-up to handle different
scopes on the same repo, so we use a different set of them for DevEdition, and
callers are responsible for using the correct one (by calling the appropriate
helper below). More context on this in https://bugzilla.mozilla.org/show_bug.cgi?id=1358601.
We will need to add esr support at some point. Eventually we want to add
nuance so certain m-b and m-r tasks use dep or nightly signing, and we only
release sign when we have a signed-off set of candidate builds. This current
@ -52,6 +57,17 @@ SIGNING_CERT_SCOPES = {
'default': 'project:releng:signing:cert:dep-signing',
}
DEVEDITION_SIGNING_SCOPE_ALIAS_TO_PROJECT = [[
'beta', set([
'mozilla-beta',
])
]]
DEVEDITION_SIGNING_CERT_SCOPES = {
'beta': 'project:releng:signing:cert:nightly-signing',
'default': 'project:releng:signing:cert:dep-signing',
}
"""Map beetmover scope aliases to sets of projects.
"""
BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [[
@ -314,6 +330,12 @@ get_signing_cert_scope = functools.partial(
SIGNING_CERT_SCOPES
)
get_devedition_signing_cert_scope = functools.partial(
get_scope_from_project,
DEVEDITION_SIGNING_SCOPE_ALIAS_TO_PROJECT,
DEVEDITION_SIGNING_CERT_SCOPES
)
get_beetmover_bucket_scope = functools.partial(
get_scope_from_target_method_and_project,
BEETMOVER_SCOPE_ALIAS_TO_TARGET_TASK,

Просмотреть файл

@ -322,6 +322,21 @@ config = {
'win64-debug': {
'update_channel': 'default',
},
'linux-devedition': {
"update_channel": "aurora-dev",
},
'linux64-devedition': {
"update_channel": "aurora-dev",
},
'macosx64-devedition': {
"update_channel": "aurora-dev",
},
'win32-devedition': {
"update_channel": "aurora-dev",
},
'win64-devedition': {
"update_channel": "aurora-dev",
},
},
'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net',
},