mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-19 09:25:34 +00:00
5279c3edef
* greenfield (pure Fenix without anything added) * firefoxNightly (To replace Firefox Nightly) * firefoxBeta (To replace Firefox Beta) * firefoxRelease (To replace Firefox Release) For now it will be a bit annoying to have all those flavors. But once the transition has been successfully completed we can start to tear them down again. Once GeckoView universal builds are available we can get rid of the "abi" dimension. If this is going to slow down the CI process then I might look into parallelizing the build or potentially introducing a taskcluster CI setup (if that makes sense).
117 lines
5.1 KiB
YAML
117 lines
5.1 KiB
YAML
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
version: 1
|
|
policy:
|
|
pullRequests: public
|
|
tasks:
|
|
- $if: 'tasks_for == "cron"'
|
|
then:
|
|
$let:
|
|
decision_task_id: {$eval: as_slugid("decision_task")}
|
|
expires_in: {$fromNow: '1 year'}
|
|
repository: ${event.repository.html_url}
|
|
scheduler_id: focus-nightly-sched
|
|
|
|
head_rev: ${event.release.tag_name}
|
|
head_branch: ${event.release.target_commitish}
|
|
|
|
is_mozilla_mobile_repo:
|
|
$eval: event.repository.html_url == 'https://github.com/mozilla-mobile/fenix'
|
|
track:
|
|
$if: event.repository.html_url == 'https://github.com/mozilla-mobile/fenix'
|
|
then: 'nightly'
|
|
else: 'staging-nightly'
|
|
decision_worker_type:
|
|
$if: event.repository.html_url == 'https://github.com/mozilla-mobile/fenix'
|
|
then: mobile-3-decision
|
|
else: mobile-1-decision
|
|
build_worker_type:
|
|
$if: event.repository.html_url == 'https://github.com/mozilla-mobile/fenix'
|
|
then: mobile-3-b-fenix
|
|
else: mobile-1-b-fenix
|
|
|
|
in:
|
|
taskId: ${decision_task_id}
|
|
taskGroupId: ${decision_task_id} # Must be explicit because of Chain of Trust
|
|
created: {$fromNow: ''}
|
|
deadline: {$fromNow: '2 hours'}
|
|
expires: ${expires_in}
|
|
schedulerId: ${scheduler_id} # Must be explicit because of Chain of Trust
|
|
provisionerId: aws-provisioner-v1
|
|
workerType: ${decision_worker_type}
|
|
requires: all-completed # Must be explicit because of Chain of Trust
|
|
priority: medium
|
|
retries: 5
|
|
scopes:
|
|
$flatten:
|
|
- queue:scheduler-id:${scheduler_id}
|
|
- queue:create-task:highest:aws-provisioner-v1/${build_worker_type}
|
|
- project:mobile:fenix:releng:signing:format:autograph_apk
|
|
- $if: is_mozilla_mobile_repo
|
|
then:
|
|
- queue:create-task:highest:scriptworker-prov-v1/mobile-signing-v1
|
|
- queue:create-task:highest:scriptworker-prov-v1/mobile-pushapk-v1
|
|
- project:mobile:fenix:releng:signing:cert:release-signing
|
|
- project:mobile:fenix:releng:googleplay:product:fenix
|
|
- queue:route:index.project.mobile.fenix.signed-nightly.*
|
|
- secrets:get:project/mobile/fenix/sentry
|
|
else:
|
|
- queue:create-task:highest:scriptworker-prov-v1/mobile-signing-dep-v1
|
|
- queue:create-task:highest:scriptworker-prov-v1/mobile-pushapk-dep-v1
|
|
- project:mobile:fenix:releng:signing:cert:dep-signing
|
|
- project:mobile:fenix:releng:googleplay:product:fenix:dep
|
|
- queue:route:index.project.mobile.fenix.staging-signed-nightly.*
|
|
- secrets:get:garbage/staging/project/mobile/fenix/sentry
|
|
payload:
|
|
maxRunTime: 600 # Decision should remain fast enough to schedule a handful of tasks
|
|
image: mozillamobile/fenix:1.3
|
|
features:
|
|
taskclusterProxy: true
|
|
chainOfTrust: true
|
|
env:
|
|
BUILD_WORKER_TYPE: ${build_worker_type}
|
|
MOBILE_HEAD_BRANCH: ${head_branch}
|
|
MOBILE_HEAD_REPOSITORY: ${repository}
|
|
MOBILE_HEAD_REV: ${head_rev}
|
|
MOBILE_TRIGGERED_BY: ${event.sender.login}
|
|
SCHEDULER_ID: ${scheduler_id}
|
|
TASK_ID: ${decision_task_id}
|
|
command:
|
|
- /bin/bash
|
|
- --login
|
|
- -cx
|
|
- >-
|
|
git fetch ${repository} ${head_branch}
|
|
&& git config advice.detachedHead false
|
|
&& git checkout ${head_rev}
|
|
&& python automation/taskcluster/decision_task_nightly.py \
|
|
--track ${track} \
|
|
--commit \
|
|
--output /opt/fenix/app/build/outputs/apk \
|
|
--apk armGreenfield/release/app-arm-greenfield-release-unsigned.apk \
|
|
--apk x86Greenfield/release/app-x86-greenfield-release-unsigned.apk \
|
|
--apk aarch64Greenfield/release/app-aarch64-greenfield-release-unsigned.apk \
|
|
--date ${now}
|
|
artifacts:
|
|
public/task-graph.json:
|
|
type: file
|
|
path: /opt/fenix/task-graph.json
|
|
expires: ${expires_in}
|
|
public/actions.json:
|
|
type: file
|
|
path: /opt/fenix/actions.json
|
|
expires: ${expires_in}
|
|
public/parameters.yml:
|
|
type: file
|
|
path: /opt/fenix/parameters.yml
|
|
expires: ${expires_in}
|
|
extra:
|
|
cron: {$json: {$eval: 'cron'}}
|
|
tasks_for: ${tasks_for}
|
|
metadata:
|
|
name: Fenix Nightly Decision Task
|
|
description: Decision task scheduled by cron task [${cron.task_id}](https://tools.taskcluster.net/tasks/${cron.task_id})
|
|
owner: ${event.sender.login}@users.noreply.github.com
|
|
source: ${repository}/raw/${head_rev}/.taskcluster.yml
|