Bug 1527206 - roll-out declarative artifacts for Fennec beta and release. r=sfraser a=release

This commit is contained in:
Mihai Tabara 2019-03-18 13:25:16 +00:00
Родитель 6828eee6b1
Коммит d161f56fd0
18 изменённых файлов: 299 добавлений и 57 удалений

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

@ -20,6 +20,16 @@ job-template:
attributes:
artifact_prefix: public
artifact_map:
by-platform:
android.*: taskcluster/taskgraph/manifests/fennec_nightly_checksums.yml
default: taskcluster/taskgraph/manifests/firefox_nightly_checksums.yml
by-project:
default:
by-platform:
android.*: taskcluster/taskgraph/manifests/fennec_nightly_checksums.yml
default: taskcluster/taskgraph/manifests/firefox_nightly_checksums.yml
mozilla-beta:
by-platform:
android.*: taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
default: taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml
mozilla-release:
by-platform:
android.*: taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
default: taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml

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

@ -34,4 +34,8 @@ not-for-build-platforms:
job-template:
shipping-phase: promote
attributes:
artifact_map: taskcluster/taskgraph/manifests/fennec_nightly.yml
artifact_map:
by-project:
mozilla-release: taskcluster/taskgraph/manifests/fennec_candidates.yml
mozilla-beta: taskcluster/taskgraph/manifests/fennec_candidates.yml
default: taskcluster/taskgraph/manifests/fennec_nightly.yml

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

@ -15,4 +15,5 @@ kind-dependencies:
job-template:
shipping-phase: promote
attributes:
artifact_prefix: public
artifact_map: taskcluster/taskgraph/manifests/source_checksums.yml

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

@ -0,0 +1,156 @@
---
s3_bucket_paths:
- pub/mobile/candidates
default_locales: # if given an empty locale, use these locales
- en-US
- multi
tasktype_map: # map task reference to task type.
build: build
build-signing: signing
nightly-l10n-signing: signing
platform_names:
path_platform:
by-platform:
android-x86-nightly: 'android-x86'
android-x86_64-nightly: 'android-x86_64'
android-api-16-nightly: 'android-api-16'
android-aarch64-nightly: 'android-aarch64'
filename_platform:
by-platform:
android-x86-nightly: 'android-i386'
android-x86_64-nightly: 'android-x86_64'
android-api-16-nightly: 'android-arm'
android-aarch64-nightly: 'android-aarch64'
# A default entry, which the mappings below extend and override.
# Final 'destinations' will be the product of:
# s3_bucket_paths + destinations + locale_prefix + pretty_name
default: &default
from:
- build
all_locales: false
description: "TODO"
locale_prefix: '${locale}/'
# anything between artifact prefix and filename within upstream task
source_path_modifier:
by-locale:
default: '${locale}'
multi: ''
destinations:
- ${version}-candidates/build${build_number}/${path_platform}
# configuration for individual files. Extends 'default', above.
mapping:
buildhub.json:
<<: *default
all_locales: true
description: "Build related information to be consumed by Buildhub service"
pretty_name: buildhub.json
checksums_path: ${path_platform}/${locale}/buildhub.json
target.common.tests.tar.gz:
<<: *default
description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite"
pretty_name: fennec-${version}.${locale}.${filename_platform}.common.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.common.tests.tar.gz
target.cppunittest.tests.tar.gz:
<<: *default
description: "C++ unittests related in-tree test infrastructure"
pretty_name: fennec-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
target.crashreporter-symbols.zip:
<<: *default
description: "Crashreporter symbols to be consumed by Socorro"
pretty_name: fennec-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
checksums_path: fennec-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
target.json:
<<: *default
all_locales: true
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: fennec-${version}.${locale}.${filename_platform}.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.json
target.mochitest.tests.tar.gz:
<<: *default
description: "Results for running the mochitest testing framework via Javascript function calls"
pretty_name: fennec-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
target.mozinfo.json:
<<: *default
all_locales: true
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: fennec-${version}.${locale}.${filename_platform}.mozinfo.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.mozinfo.json
target.reftest.tests.tar.gz:
<<: *default
description: "Results for running the reftest testing framework via display of two Web pages comparison"
pretty_name: fennec-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
target.talos.tests.tar.gz:
<<: *default
description: "Results for running the talos testing framework to measure performance"
pretty_name: fennec-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
target.awsy.tests.tar.gz:
<<: *default
description: "Results for running the awsy testing framework to track memory usage"
pretty_name: fennec-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
target.test_packages.json:
<<: *default
description: "File containing metadata about all other files and testing harnesses specifics"
all_locales: true
pretty_name: fennec-${version}.${locale}.${filename_platform}.test_packages.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.test_packages.json
target.txt:
<<: *default
description: "File containing buildid and revision"
all_locales: true
pretty_name: fennec-${version}.${locale}.${filename_platform}.txt
checksums_path: fennec-${version}.${locale}.${filename_platform}.txt
target.web-platform.tests.tar.gz:
<<: *default
description: "Results for running the webplatform testing framework to cover standard Web platform features"
pretty_name: fennec-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
target.xpcshell.tests.tar.gz:
<<: *default
description: "Results for running the xpcshell testing framework to enable XPConnect console application"
pretty_name: fennec-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
target_info.txt:
<<: *default
all_locales: true
locale_prefix: ''
description: "File containing the buildID"
pretty_name: ${path_platform}_info.txt
checksums_path: ${path_platform}_info.txt
destinations:
- ${version}-candidates/build${build_number}
mozharness.zip:
<<: *default
description: "File containing the mozharness set of scripts and configuration used by various automation tools"
pretty_name: mozharness.zip
checksums_path: mozharness.zip
robocop.apk:
<<: *default
description: "APK to enable the Robocop testing framework "
all_locales: true
pretty_name: robocop.apk
checksums_path: robocop.apk
target.jsshell.zip:
<<: *default
description: "Set of shells to allow test snippets of Javascript code without needing to reload the page"
pretty_name: jsshell-${filename_platform}.zip
checksums_path: jsshell-${filename_platform}.zip
target.apk:
<<: *default
description: "The main installer we ship our mobile products baked within"
all_locales: true
from:
- build-signing
- nightly-l10n-signing
pretty_name: fennec-${version}.${locale}.${filename_platform}.apk
checksums_path: fennec-${version}.${locale}.${filename_platform}.apk
update_balrog_manifest:
by-locale:
multi: true
default: false

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

@ -0,0 +1,50 @@
---
s3_bucket_paths:
- pub/mobile/candidates
default_locales: # if given an empty locale, use these locales
- en-US
tasktype_map: # Map task reference to task type.
checksums-signing: signing
platform_names:
path_platform:
by-platform:
android-x86-nightly: 'android-x86'
android-x86_64-nightly: 'android-x86_64'
android-api-16-nightly: 'android-api-16'
android-aarch64-nightly: 'android-aarch64'
filename_platform:
by-platform:
android-x86-nightly: 'android-i386'
android-x86_64-nightly: 'android-x86_64'
android-api-16-nightly: 'android-arm'
android-aarch64-nightly: 'android-aarch64'
# A default entry, which the mappings below extend and override.
# Final 'destinations' will be the product of:
# s3_bucket_paths + destinations + locale_prefix + pretty_name
default: &default
from:
- checksums-signing
all_locales: true
description: "TODO"
locale_prefix:
by-locale:
default: ''
en-US: '${locale}/'
source_path_modifier: ''
destinations:
- ${version}-candidates/build${build_number}/beetmover-checksums/${path_platform}
- ${version}-candidates/build${build_number}/${path_platform}
# Configuration for individual files. Extends 'default', above.
mapping:
target.checksums:
<<: *default
description: "Checksums file containing size, hash, sha algorithm and filename"
pretty_name: fennec-${version}.${locale}.${filename_platform}.checksums.beet
checksums_path: fennec-${version}.${locale}.${filename_platform}.checksums
target.checksums.asc:
<<: *default
description: "Detached signature for the checksums file"
pretty_name: fennec-${version}.${locale}.${filename_platform}.checksums.asc
checksums_path: fennec-${version}.${locale}.${filename_platform}.checksums.asc

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

@ -1,8 +1,4 @@
---
metadata:
name: "Beetmover for checksums artifacts"
description: "Uploads checksum files to s3 buckets"
owner: "release@mozilla.com"
s3_bucket_paths:
- maven2
default_locales: # Ignored for geckoview
@ -22,7 +18,7 @@ default: &default
- build
locale_prefix: ''
source_path_modifier: org/mozilla/geckoview/${artifact_id}/${major_version}.${minor_version}.${build_date}
description: "TODO"
description: ""
destinations: # locale_prefix is appended
- org/mozilla/geckoview/${artifact_id}/${major_version}.${minor_version}.${build_date}

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

@ -1,8 +1,4 @@
---
metadata:
description: Fennec nightly artifacts
name: Beetmover declarative artifacts manifest
owner: release@mozilla.com
s3_bucket_paths:
- pub/mobile/nightly
default_locales: # if given an empty locale, use these locales
@ -59,88 +55,104 @@ mapping:
buildhub.json:
<<: *default
all_locales: true
description: "Build related information to be consumed by Buildhub service"
locale_prefix: ''
pretty_name: fennec-${version}.${locale}.${filename_platform}.buildhub.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.buildhub.json
target.common.tests.tar.gz:
<<: *default
description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite"
pretty_name: fennec-${version}.${locale}.${filename_platform}.common.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.common.tests.tar.gz
target.cppunittest.tests.tar.gz:
<<: *default
description: "C++ unittests related in-tree test infrastructure"
pretty_name: fennec-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
target.crashreporter-symbols.zip:
<<: *default
description: "Crashreporter symbols to be consumed by Socorro"
pretty_name: fennec-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
checksums_path: fennec-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
target.json:
<<: *default
all_locales: true
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: fennec-${version}.${locale}.${filename_platform}.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.json
target.mochitest.tests.tar.gz:
<<: *default
description: "Results for running the mochitest testing framework via Javascript function calls"
pretty_name: fennec-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
target.mozinfo.json:
<<: *default
all_locales: true
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: fennec-${version}.${locale}.${filename_platform}.mozinfo.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.mozinfo.json
target.reftest.tests.tar.gz:
<<: *default
description: "Results for running the reftest testing framework via display of two Web pages comparison"
pretty_name: fennec-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
target.talos.tests.tar.gz:
<<: *default
description: "Results for running the talos testing framework to measure performance"
pretty_name: fennec-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
target.awsy.tests.tar.gz:
<<: *default
description: "Results for running the awsy testing framework to track memory usage"
pretty_name: fennec-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
target.test_packages.json:
<<: *default
description: "File containing metadata about all other files and testing harnesses specifics"
all_locales: true
pretty_name: fennec-${version}.${locale}.${filename_platform}.test_packages.json
checksums_path: fennec-${version}.${locale}.${filename_platform}.test_packages.json
target.txt:
<<: *default
description: "File containing buildid and revision"
all_locales: true
pretty_name: fennec-${version}.${locale}.${filename_platform}.txt
checksums_path: fennec-${version}.${locale}.${filename_platform}.txt
target.web-platform.tests.tar.gz:
<<: *default
description: "Web platform test suite <TODO>"
description: "Results for running the webplatform testing framework to cover standard Web platform features"
pretty_name: fennec-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
target.xpcshell.tests.tar.gz:
<<: *default
description: "XPCShell test suite <TODO>"
description: "Results for running the xpcshell testing framework to enable XPConnect console application"
pretty_name: fennec-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
checksums_path: fennec-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
target_info.txt:
<<: *default
all_locales: true
description: "File containing the buildID for the particular release"
description: "File containing the buildID"
pretty_name: fennec-${version}.${locale}.${filename_platform}_info.txt
checksums_path: fennec-${version}.${locale}.${filename_platform}_info.txt
mozharness.zip:
<<: *default
description: "File containing the mozharness set of scripts and configuration used by various automation tools"
pretty_name: mozharness.zip
checksums_path: mozharness.zip
robocop.apk:
<<: *default
description: "APK to enable the Robocop testing framework "
all_locales: true
pretty_name: robocop.apk
checksums_path: robocop.apk
target.jsshell.zip:
<<: *default
description: "Set of shells to allow test snippets of Javascript code without needing to reload the page"
pretty_name: jsshell-${filename_platform}.zip
checksums_path: jsshell-${filename_platform}.zip
target.apk:
<<: *default
description: "The main installer we ship our mobile products baked within"
all_locales: true
from:
- build-signing

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

@ -1,8 +1,4 @@
---
metadata:
name: "Beetmover for checksums artifacts"
description: "Uploads checksum files to s3 buckets"
owner: "release@mozilla.com"
s3_bucket_paths:
- pub/mobile/nightly
default_locales: # if given an empty locale, use these locales
@ -52,9 +48,11 @@ default: &default
mapping:
target.checksums:
<<: *default
description: "Checksums file containing size, hash, sha algorithm and filename"
pretty_name: fennec-${version}.${locale}.${filename_platform}.checksums
checksums_path: fennec-${version}.${locale}.${filename_platform}.checksums
target.checksums.asc:
<<: *default
description: "Detached signature for the checksums file"
pretty_name: fennec-${version}.${locale}.${filename_platform}.checksums.asc
checksums_path: fennec-${version}.${locale}.${filename_platform}.checksums.asc

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

@ -1,8 +1,4 @@
---
metadata:
name: "Beetmover for checksums artifacts"
description: "Uploads checksum files to s3 buckets"
owner: "release@mozilla.com"
s3_bucket_paths:
by-platform:
.*devedition.*:
@ -47,9 +43,11 @@ default: &default
mapping:
target.checksums:
<<: *default
description: "Checksums file containing size, hash, sha algorithm and filename"
pretty_name: firefox-${version}.${locale}.${filename_platform}.checksums
checksums_path: firefox-${version}.${locale}.${filename_platform}.checksums
target.checksums.asc:
<<: *default
description: "Detached signature for the checksums file"
pretty_name: firefox-${version}.${locale}.${filename_platform}.checksums.asc
checksums_path: firefox-${version}.${locale}.${filename_platform}.checksums.asc

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

@ -1,8 +1,4 @@
---
metadata:
name: "Beetmover for checksums artifacts"
description: "Uploads checksum files to s3 buckets"
owner: "release@mozilla.com"
s3_bucket_paths:
by-platform:
fennec-release:
@ -14,8 +10,8 @@ s3_bucket_paths:
default_locales: # if given an empty locale, use these locales
- en-US
tasktype_map: # Map task reference to task type.
release-generate-checksums-signing: signing
release-generate-checksums: build
release-generate-checksums-signing: signing
platform_names:
path_platform: ''
filename_platform: ''
@ -37,33 +33,40 @@ default: &default
mapping:
SHA256SUMMARY:
<<: *default
description: "Merkle-tree for the release artifacts with sha 256 hashes"
from:
- release-generate-checksums
pretty_name: SHA256SUMMARY
checksums_path: SHA256SUMMARY
SHA512SUMMARY:
<<: *default
description: "Merkle-tree for the release artifacts with sha 512 hashes"
from:
- release-generate-checksums
pretty_name: SHA512SUMMARY
checksums_path: SHA512SUMMARY
KEY:
<<: *default
description: "Public side of the key that was used to sign the release artifacts"
pretty_name: KEY
checksums_path: KEY
SHA256SUMS:
<<: *default
description: "Aggregated checksums with main installers details per platform in sha512 hashes"
pretty_name: SHA256SUMS
checksums_path: SHA256SUMS
SHA256SUMS.asc:
<<: *default
description: "Detached signature for the checksums file"
pretty_name: SHA256SUMS.asc
checksums_path: SHA256SUMS.asc
SHA512SUMS:
<<: *default
description: "Aggregated checksums with main installers details per platform in sha256 hashes"
pretty_name: SHA512SUMS
checksums_path: SHA512SUMS
SHA512SUMS.asc:
<<: *default
description: "Detached signature for the checksums file"
pretty_name: SHA512SUMS.asc
checksums_path: SHA512SUMS.asc

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

@ -1,8 +1,4 @@
---
metadata:
description: Source file archives
name: Beetmover source archive manifest
owner: release@mozilla.com
s3_bucket_paths:
by-platform:
fennec-source:
@ -36,15 +32,27 @@ default: &default
mapping:
target-source.checksums:
<<: *default
description: "Checksums file for the source zip files"
pretty_name:
by-platform:
firefox-source: firefox-${version}.checksums.beet
devedition-source: firefox-${version}.checksums.beet
fennec-source: fennec-${version}.checksums.beet
checksums_path:
by-platform:
firefox-source: firefox-${version}.checksums.beet
devedition-source: firefox-${version}.checksums.beet
fennec-source: fennec-${version}.checksums.beet
target-source.checksums.asc:
<<: *default
description: "Detached signature for the checksums file"
pretty_name:
by-platform:
firefox-source: firefox-${version}.checksums.asc
devedition-source: firefox-${version}.checksums.asc
fennec-source: fennec-${version}.checksums.asc
checksums_path:
by-platform:
firefox-source: firefox-${version}.checksums.asc
devedition-source: firefox-${version}.checksums.asc
fennec-source: fennec-${version}.checksums.asc

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

@ -1,8 +1,4 @@
---
metadata:
description: Source file archives
name: Beetmover source archive manifest
owner: release@mozilla.com
s3_bucket_paths:
by-platform:
fennec-source:
@ -36,6 +32,7 @@ default: &default
mapping:
source.tar.xz:
<<: *default
description: "Source file with the in-tree code archived"
pretty_name:
by-platform:
firefox-source: firefox-${version}.source.tar.xz
@ -43,11 +40,12 @@ mapping:
fennec-source: fennec-${version}.source.tar.xz
checksums_path:
by-platform:
firefox-source: firefox-${version}.source.tar.xz
devedition-source: firefox-${version}.source.tar.xz
fennec-source: fennec-${version}.source.tar.xz
firefox-source: source/firefox-${version}.source.tar.xz
devedition-source: source/firefox-${version}.source.tar.xz
fennec-source: source/fennec-${version}.source.tar.xz
source.tar.xz.asc:
<<: *default
description: "Detached signature for the source file"
pretty_name:
by-platform:
firefox-source: firefox-${version}.source.tar.xz.asc
@ -55,6 +53,6 @@ mapping:
fennec-source: fennec-${version}.source.tar.xz.asc
checksums_path:
by-platform:
firefox-source: firefox-${version}.source.tar.xz.asc
devedition-source: firefox-${version}.source.tar.xz.asc
fennec-source: fennec-${version}.source.tar.xz.asc
firefox-source: source/firefox-${version}.source.tar.xz.asc
devedition-source: source/firefox-${version}.source.tar.xz.asc
fennec-source: source/fennec-${version}.source.tar.xz.asc

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

@ -312,7 +312,7 @@ def make_task_worker(config, jobs):
if should_use_artifact_map(platform, config.params['project']):
upstream_artifacts = generate_beetmover_upstream_artifacts(
job, platform, locale
config, job, platform, locale
)
else:
upstream_artifacts = generate_upstream_artifacts(

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

@ -147,7 +147,7 @@ def make_beetmover_checksums_worker(config, jobs):
if should_use_artifact_map(platform, config.params['project']):
upstream_artifacts = generate_beetmover_upstream_artifacts(
job, platform, locale
config, job, platform, locale
)
worker['artifact-map'] = generate_beetmover_artifact_map(
config, job, platform=platform, locale=locale)

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

@ -138,7 +138,8 @@ def make_beetmover_checksums_worker(config, jobs):
"Beetmover checksums must have a beetmover and signing dependency!")
if should_use_artifact_map(platform, config.params['project']):
upstream_artifacts = generate_beetmover_upstream_artifacts(job, platform, locale)
upstream_artifacts = generate_beetmover_upstream_artifacts(config,
job, platform, locale)
else:
upstream_artifacts = generate_upstream_artifacts(refs, platform, locale)

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

@ -158,7 +158,7 @@ def make_task_worker(config, jobs):
# Works with Firefox/Devedition. Commented for migration.
if should_use_artifact_map(platform, config.params['project']):
upstream_artifacts = generate_beetmover_upstream_artifacts(
job, platform=None, locale=None
config, job, platform=None, locale=None
)
else:
upstream_artifacts = generate_upstream_artifacts(

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

@ -51,11 +51,11 @@ def make_release_generate_checksums_signing_description(config, jobs):
description = "Signing of the overall release-related checksums"
dependencies = {
"build": dep_job.label
str(dep_job.kind): dep_job.label
}
upstream_artifacts = [{
"taskId": {"task-reference": "<build>"},
"taskId": {"task-reference": "<{}>".format(str(dep_job.kind))},
"taskType": "build",
"paths": [
get_artifact_path(dep_job, "SHA256SUMS"),

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

@ -401,7 +401,7 @@ def get_worker_type_for_scope(config, scope):
# generate_beetmover_upstream_artifacts {{{1
def generate_beetmover_upstream_artifacts(job, platform, locale=None, dependencies=None):
def generate_beetmover_upstream_artifacts(config, job, platform, locale=None, dependencies=None):
"""Generate the upstream artifacts for beetmover, using the artifact map.
Currently only applies to beetmover tasks.
@ -416,7 +416,12 @@ def generate_beetmover_upstream_artifacts(job, platform, locale=None, dependenci
list: A list of dictionaries conforming to the upstream_artifacts spec.
"""
base_artifact_prefix = get_artifact_prefix(job)
resolve_keyed_by(job, 'attributes.artifact_map', 'artifact map', platform=platform)
resolve_keyed_by(
job, 'attributes.artifact_map',
'artifact map',
project=config.params['project'],
platform=platform
)
map_config = load_yaml(job['attributes']['artifact_map'])
upstream_artifacts = list()
@ -531,7 +536,12 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
maps for beetmover.
"""
platform = kwargs.get('platform', '')
resolve_keyed_by(job, 'attributes.artifact_map', 'artifact map', platform=platform)
resolve_keyed_by(
job, 'attributes.artifact_map',
'artifact map',
project=config.params['project'],
platform=platform
)
map_config = load_yaml(job['attributes']['artifact_map'])
base_artifact_prefix = map_config.get('base_artifact_prefix', get_artifact_prefix(job))
@ -557,8 +567,6 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
# This locale either doesn't produce or shouldn't upload this file.
continue
# Filling in destinations
# deepcopy because the next time we look at this file the locale will differ.
file_config = deepcopy(map_config['mapping'][filename])
@ -611,7 +619,6 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
continue
# Render all variables for the artifact map
platforms = deepcopy(map_config['platform_names'])
if platform:
for key in platforms.keys():
@ -621,7 +628,7 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
kwargs.update({
'locale': locale,
'version': config.params['app_version'],
'version': config.params['version'],
'branch': config.params['project'],
'build_number': config.params['build_number'],
'filename_platform': platforms['filename_platform'],
@ -650,7 +657,7 @@ def should_use_artifact_map(platform, project):
platforms = ['android', 'fennec']
# FIXME: once we're ready to switch fully to declarative artifacts on other
# branches, we can expand this
projects = ['mozilla-central']
projects = ['mozilla-central', 'mozilla-beta', 'mozilla-release']
if any([pl in platform for pl in platforms]) and any([pj in project for pj in projects]):
return True