Loads firebase secret from Taskcluster for nightly (#3634)
* Loads firebase secret from Taskcluster for each release * Nightly legacy should use custom set of secretsmaster
parent
c6c9818751
commit
1f12ee0f8c
|
@ -153,7 +153,7 @@ def nightly_to_production_app(is_staging, version_name):
|
|||
push_tasks = {}
|
||||
|
||||
build_task_id = taskcluster.slugId()
|
||||
build_tasks[build_task_id] = BUILDER.craft_assemble_release_task(architectures, build_type, is_staging, version_name, index_channel='nightly')
|
||||
build_tasks[build_task_id] = BUILDER.craft_assemble_release_task(architectures, build_type, is_staging, version_name)
|
||||
|
||||
signing_task_id = taskcluster.slugId()
|
||||
signing_tasks[signing_task_id] = BUILDER.craft_release_signing_task(
|
||||
|
@ -194,6 +194,7 @@ if __name__ == "__main__":
|
|||
|
||||
release_parser = subparsers.add_parser('github-release')
|
||||
release_parser.add_argument('tag')
|
||||
release_parser.add_argument('--staging', action='store_true')
|
||||
|
||||
result = parser.parse_args()
|
||||
command = result.command
|
||||
|
@ -214,9 +215,9 @@ if __name__ == "__main__":
|
|||
beta_semver = re.compile(r'^v\d+\.\d+\.\d+-beta\.\d+$')
|
||||
production_semver = re.compile(r'^v\d+\.\d+\.\d+(-rc\.\d+)?$')
|
||||
if beta_semver.match(result.tag):
|
||||
ordered_groups_of_tasks = release('beta', False, version)
|
||||
ordered_groups_of_tasks = release('beta', result.staging, version)
|
||||
elif production_semver.match(result.tag):
|
||||
ordered_groups_of_tasks = release('production', False, version)
|
||||
ordered_groups_of_tasks = release('production', result.staging, version)
|
||||
else:
|
||||
raise ValueError('Github tag must be in semver format and prefixed with a "v", '
|
||||
'e.g.: "v1.0.0-beta.0" (beta), "v1.0.0-rc.0" (production) or "v1.0.0" (production)')
|
||||
|
|
|
@ -5,10 +5,18 @@
|
|||
import argparse
|
||||
import base64
|
||||
import os
|
||||
|
||||
import errno
|
||||
import taskcluster
|
||||
|
||||
def write_secret_to_file(path, data, key, base64decode=False, append=False, prefix=''):
|
||||
path = os.path.join(os.path.dirname(__file__), '../../../' + path)
|
||||
try:
|
||||
os.makedirs(os.path.dirname(path))
|
||||
except OSError as error:
|
||||
if error.errno != errno.EEXIST:
|
||||
raise
|
||||
|
||||
with open(path, 'a' if append else 'w') as f:
|
||||
value = data['secret'][key]
|
||||
if base64decode:
|
||||
|
|
|
@ -40,8 +40,7 @@ class TaskBuilder(object):
|
|||
self.date = arrow.get(date_string)
|
||||
self.trust_level = trust_level
|
||||
|
||||
def craft_assemble_release_task(self, architectures, build_type, is_staging, version_name, index_channel=None):
|
||||
index_channel = index_channel or build_type
|
||||
def craft_assemble_release_task(self, architectures, build_type, is_staging, version_name):
|
||||
artifacts = {
|
||||
'public/target.{}.apk'.format(arch): {
|
||||
"type": 'file',
|
||||
|
@ -55,7 +54,7 @@ class TaskBuilder(object):
|
|||
if is_staging:
|
||||
secret_index = 'garbage/staging/project/mobile/fenix'
|
||||
else:
|
||||
secret_index = 'project/mobile/fenix/{}'.format(index_channel)
|
||||
secret_index = 'project/mobile/fenix/{}'.format(build_type)
|
||||
|
||||
pre_gradle_commands = (
|
||||
'python automation/taskcluster/helper/get-secret.py -s {} -k {} -f {}'.format(
|
||||
|
@ -65,6 +64,7 @@ class TaskBuilder(object):
|
|||
('sentry_dsn', '.sentry_token'),
|
||||
('leanplum', '.leanplum_token'),
|
||||
('adjust', '.adjust_token'),
|
||||
('firebase', 'app/src/{}/res/values/firebase.xml'.format(build_type)),
|
||||
)
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue