diff --git a/taskcluster/ci/push-apk/kind.yml b/taskcluster/ci/push-apk/kind.yml index 41e421257cf3..acf74a2be1d9 100644 --- a/taskcluster/ci/push-apk/kind.yml +++ b/taskcluster/ci/push-apk/kind.yml @@ -20,12 +20,17 @@ jobs: nightly: true shipping-phase: ship shipping-product: fennec - worker-type: scriptworker-prov-v1/pushapk-v1 + worker-type: + by-project: + mozilla-central: scriptworker-prov-v1/pushapk-v1 + mozilla-beta: scriptworker-prov-v1/pushapk-v1 + mozilla-release: scriptworker-prov-v1/pushapk-v1 + default: scriptworker-prov-v1/dep-pushapk worker: upstream-artifacts: # see transforms google-play-track: # see transforms implementation: push-apk - dry-run: # see transforms + commit: # see transforms scopes: # see transforms treeherder: symbol: pub(gp) diff --git a/taskcluster/taskgraph/transforms/push_apk.py b/taskcluster/taskgraph/transforms/push_apk.py index f9cbb3840cd1..7da279dba55d 100644 --- a/taskcluster/taskgraph/transforms/push_apk.py +++ b/taskcluster/taskgraph/transforms/push_apk.py @@ -11,9 +11,9 @@ import functools from taskgraph.transforms.base import TransformSequence from taskgraph.transforms.task import task_description_schema -from taskgraph.util.schema import Schema +from taskgraph.util.schema import optionally_keyed_by, resolve_keyed_by, Schema from taskgraph.util.scriptworker import get_push_apk_scope, get_push_apk_track, \ - get_push_apk_dry_run_option, get_push_apk_rollout_percentage + get_push_apk_commit_option, get_push_apk_rollout_percentage from taskgraph.util.push_apk import fill_labels_tranform, validate_jobs_schema_transform_partial, \ validate_dependent_tasks_transform, delete_non_required_fields_transform, generate_dependencies @@ -37,7 +37,7 @@ push_apk_description_schema = Schema({ Required('attributes'): object, Required('treeherder'): object, Required('run-on-projects'): list, - Required('worker-type'): basestring, + Required('worker-type'): optionally_keyed_by('project', basestring), Required('worker'): object, Required('scopes'): None, Required('deadline-after'): basestring, @@ -63,7 +63,7 @@ def make_task_description(config, jobs): job['dependencies'] = generate_dependencies(job['dependent-tasks']) job['worker']['upstream-artifacts'] = generate_upstream_artifacts(job['dependencies']) job['worker']['google-play-track'] = get_push_apk_track(config) - job['worker']['dry-run'] = get_push_apk_dry_run_option(config) + job['worker']['commit'] = get_push_apk_commit_option(config) rollout_percentage = get_push_apk_rollout_percentage(config) if rollout_percentage is not None: @@ -71,6 +71,11 @@ def make_task_description(config, jobs): job['scopes'] = [get_push_apk_scope(config)] + resolve_keyed_by( + job, 'worker-type', item_name=job['name'], + project=config.params['project'] + ) + yield job diff --git a/taskcluster/taskgraph/transforms/task.py b/taskcluster/taskgraph/transforms/task.py index 63ea6a0dccc4..ce5d85a1607d 100755 --- a/taskcluster/taskgraph/transforms/task.py +++ b/taskcluster/taskgraph/transforms/task.py @@ -553,7 +553,7 @@ task_description_schema = Schema({ # "Invalid" is a noop for try and other non-supported branches Required('google-play-track'): Any('production', 'beta', 'alpha', 'rollout', 'invalid'), - Required('dry-run', default=True): bool, + Required('commit', default=False): bool, Optional('rollout-percentage'): int, }), }) @@ -989,7 +989,7 @@ def build_push_apk_payload(config, task, task_def): worker = task['worker'] task_def['payload'] = { - 'dry_run': worker['dry-run'], + 'commit': worker['commit'], 'upstreamArtifacts': worker['upstream-artifacts'], 'google_play_track': worker['google-play-track'], } diff --git a/taskcluster/taskgraph/util/scriptworker.py b/taskcluster/taskgraph/util/scriptworker.py index 73f19319a553..27c088422d83 100644 --- a/taskcluster/taskgraph/util/scriptworker.py +++ b/taskcluster/taskgraph/util/scriptworker.py @@ -253,12 +253,12 @@ PUSH_APK_BREAKPOINT_WORKER_TYPE = { 'default': 'invalid/invalid', } -PUSH_APK_DRY_RUN_OPTION = { - 'central': False, - 'beta': False, - 'maple': True, - 'release': False, - 'default': True, +PUSH_APK_COMMIT_OPTION = { + 'central': True, + 'beta': True, + 'maple': False, + 'release': True, + 'default': False, } PUSH_APK_ROLLOUT_PERCENTAGE = { @@ -392,10 +392,10 @@ get_push_apk_breakpoint_worker_type = functools.partial( PUSH_APK_BREAKPOINT_WORKER_TYPE ) -get_push_apk_dry_run_option = functools.partial( +get_push_apk_commit_option = functools.partial( get_scope_from_project, PUSH_APK_SCOPE_ALIAS_TO_PROJECT, - PUSH_APK_DRY_RUN_OPTION + PUSH_APK_COMMIT_OPTION ) get_push_apk_rollout_percentage = functools.partial(