bug 1343585 - add task.payload.version to release beetmover tasks. r=mtabara a=release

This commit is contained in:
Aki Sasaki
2017-03-01 17:49:57 -08:00
parent fe526dace4
commit 3f725a5cf7
2 changed files with 19 additions and 9 deletions

View File

@@ -16,7 +16,7 @@ import time
from taskgraph.util.treeherder import split_symbol from taskgraph.util.treeherder import split_symbol
from taskgraph.transforms.base import TransformSequence from taskgraph.transforms.base import TransformSequence
from taskgraph.util.schema import validate_schema from taskgraph.util.schema import validate_schema
from taskgraph.util.scriptworker import get_release_build_number from taskgraph.util.scriptworker import get_release_config
from voluptuous import Schema, Any, Required, Optional, Extra from voluptuous import Schema, Any, Required, Optional, Extra
from .gecko_v2_whitelist import JOB_NAME_WHITELIST, JOB_NAME_WHITELIST_ERROR from .gecko_v2_whitelist import JOB_NAME_WHITELIST, JOB_NAME_WHITELIST_ERROR
@@ -570,7 +570,7 @@ def build_scriptworker_signing_payload(config, task, task_def):
@payload_builder('beetmover') @payload_builder('beetmover')
def build_beetmover_payload(config, task, task_def): def build_beetmover_payload(config, task, task_def):
worker = task['worker'] worker = task['worker']
build_number = get_release_build_number(config) release_config = get_release_config(config)
task_def['payload'] = { task_def['payload'] = {
'maxRunTime': worker['max-run-time'], 'maxRunTime': worker['max-run-time'],
@@ -579,8 +579,8 @@ def build_beetmover_payload(config, task, task_def):
} }
if worker.get('locale'): if worker.get('locale'):
task_def['payload']['locale'] = worker['locale'] task_def['payload']['locale'] = worker['locale']
if build_number: if release_config:
task_def['payload']['build_number'] = build_number task_def['payload'].update(release_config)
@payload_builder('balrog') @payload_builder('balrog')

View File

@@ -18,6 +18,10 @@ import functools
import os import os
# constants {{{1
GECKO = os.path.realpath(os.path.join(__file__, '..', '..', '..', '..'))
VERSION_PATH = os.path.join(GECKO, "browser", "config", "version_display.txt")
"""Map signing scope aliases to sets of projects. """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 m-a use nightly signing; m-b and m-r use release signing.
@@ -233,9 +237,9 @@ get_balrog_server_scope = functools.partial(
) )
# build_number {{{1 # release_config {{{1
def get_release_build_number(config): def get_release_config(config):
"""Get the build number for a release task. """Get the build number and version for a release task.
Currently only applies to beetmover tasks. Currently only applies to beetmover tasks.
@@ -247,10 +251,16 @@ def get_release_build_number(config):
`os.environ['BUILD_NUMBER']` `os.environ['BUILD_NUMBER']`
Returns: Returns:
int: the build number, if applicable. dict: containing both `build_number` and `version`. This can be used to
update `task.payload`.
""" """
release_config = {}
if config.params['target_tasks_method'] in BEETMOVER_RELEASE_TARGET_TASKS: if config.params['target_tasks_method'] in BEETMOVER_RELEASE_TARGET_TASKS:
build_number = str(os.environ.get("BUILD_NUMBER", "")) build_number = str(os.environ.get("BUILD_NUMBER", ""))
if not build_number.isdigit(): if not build_number.isdigit():
raise ValueError("Release graphs must specify `BUILD_NUMBER` in the environment!") raise ValueError("Release graphs must specify `BUILD_NUMBER` in the environment!")
return int(build_number) release_config['build_number'] = int(build_number)
with open(VERSION_PATH, "r") as fh:
version = fh.readline().rstrip()
release_config['version'] = version
return release_config