Created
October 14, 2016 17:46
-
-
Save rail/da29a4f25c747d166494ff233d53c43a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.../templates/firefox/bb_update_verify.yml.tmpl | 15 +++- | |
.../templates/firefox/release_graph.yml.tmpl | 87 +++++++++++++++++++++- | |
.../templates/firefox/tc_update_verify.yml.tmpl | 13 +++- | |
3 files changed, 107 insertions(+), 8 deletions(-) | |
diff --git a/releasetasks/templates/firefox/bb_update_verify.yml.tmpl b/releasetasks/templates/firefox/bb_update_verify.yml.tmpl | |
index 3ccb734..5014e08 100644 | |
--- a/releasetasks/templates/firefox/bb_update_verify.yml.tmpl | |
+++ b/releasetasks/templates/firefox/bb_update_verify.yml.tmpl | |
@@ -1,20 +1,29 @@ | |
-{% for channel in release_channels %} | |
{% set uv_totalchunks = 12 %} | |
{% for chunk in range(1, uv_totalchunks + 1) %} | |
{% set uv_buildername = "release-{}_{}_{}_update_verify".format(branch, product, platform) %} | |
{% set task_name = "{}_{}_{}".format(uv_buildername, channel, chunk) %} | |
- | |
taskId: "{{ stableSlugId(task_name) }}" | |
requires: | |
+ {% if "candidates" in dependencies %} | |
{% for upstream_builder in artifact_completes_builders + artifact_partials_builders + balrog_submission_builders %} | |
- {{ stableSlugId(upstream_builder) }} | |
{% endfor %} | |
+ {% endif %} | |
+ {% if "updates" in dependencies %} | |
- {{ stableSlugId("release-{}-{}_updates".format(branch, product)) }} | |
+ {% endif %} | |
+ {% if "uptake" in dependencies %} | |
+ - {{ stableSligId("release-{}-{}_uptake_monitoring".format(branch, product)) }} | |
+ {% endif %} | |
+ {% if "balrog" in dependencies %} | |
+ - {{ stableSligId("release-{}-{}_publish_balrog".format(branch, product)) }} | |
+ {% endif %} | |
reruns: 5 | |
task: | |
provisionerId: buildbot-bridge | |
workerType: buildbot-bridge | |
created: "{{ now }}" | |
deadline: "{{ now.replace(days=4) }}" | |
expires: "{{ never }}" | |
priority: "high" | |
@@ -35,25 +44,25 @@ | |
build_number: {{ buildNumber }} | |
revision: "{{ revision }}" | |
release_promotion: true | |
script_repo_revision: "{{ "{product}_{version}_BUILD{buildNumber}_RUNTIME".format( | |
product=product.upper(), | |
version=version.replace('.', '_'), | |
buildNumber=buildNumber ) }}" | |
NO_BBCONFIG: "1" | |
- VERIFY_CONFIG: "{{ channel }}-{{ product }}-{{ platform }}.cfg" | |
+ VERIFY_CONFIG: "{{ channel_config_prefix }}-{{ product }}-{{ platform }}.cfg" | |
TOTAL_CHUNKS: "{{ uv_totalchunks }}" | |
THIS_CHUNK: "{{ chunk }}" | |
+ CHANNEL: "{{ channel }}" | |
metadata: | |
owner: release@mozilla.com | |
source: https://github.com/mozilla/releasetasks | |
name: "{{ platform }} {{ channel }} update verification {{ chunk }}/{{ uv_totalchunks }}" | |
description: | | |
Verifies updates for {{ platform }} | |
extra: | |
{{ common_extras(taskname=task_name, locales=["null"], platform=platform) | indent(12)}} | |
{{ task_notifications("{} {} update verification {}/{}".format(platform, channel, chunk, uv_totalchunks), completed=["releasetasks"], failed=["releasetasks"], exception=["releasetasks"]) | indent(12) }} | |
{% endfor %} | |
-{% endfor %} | |
diff --git a/releasetasks/templates/firefox/release_graph.yml.tmpl b/releasetasks/templates/firefox/release_graph.yml.tmpl | |
index 37d1811..6c815cd 100644 | |
--- a/releasetasks/templates/firefox/release_graph.yml.tmpl | |
+++ b/releasetasks/templates/firefox/release_graph.yml.tmpl | |
@@ -123,26 +123,105 @@ tasks: | |
{% if updates_builder_enabled is defined and updates_builder_enabled %} | |
{% macro updates_task() %} | |
{% include "updates.yml.tmpl" %} | |
{% endmacro %} | |
{{ updates_task()|indent(4) }} | |
{% endif %} | |
{% if update_verify_enabled is defined and update_verify_enabled %} | |
- {% macro updateVerify_task(platform) %} | |
+ {% Possible dependencies: | |
+ candidates: files moved to candidate and published to balrog | |
+ updates: patcher config bumped | |
+ uptake: files published to CDNs and have enough uptake | |
+ balrog: published to users (beta, esr, release) | |
+ TODO: move deps, channel, and channel_config_prefix to configs. They will depend on channle patterns we use there. | |
+ TODO: verify the deps, do not allow unknown values | |
+ %} | |
+ | |
+ {% macro updateVerify_task(platform, dependencies, channel, channel_config_prefix) %} | |
{% if platform in ["linux", "linux64"] %} | |
{% include "tc_update_verify.yml.tmpl" %} | |
{% else %} | |
{% include "bb_update_verify.yml.tmpl" %} | |
{% endif %} | |
{% endmacro %} | |
- {% for plat in en_US_config["platforms"].keys() %} | |
- {{ updateVerify_task(plat)|indent(4) }} | |
- {% endfor %} | |
+ | |
+ {% if is_beta %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "uptake"], "beta-cdntest", "beta")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "balrog"], "beta", "beta")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% elif is_release_candidate %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "candidates"], "beta-cdntest", "beta")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "candidates"], "release-localtest", "release")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "balrog"], "beta", "beta")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {# TODO: graph2 only #} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["uptake"], "release-cdntest", "release")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["balrog"], "release", "release")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% elif is_dot_release %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "candidates"], "release-localtest", "release")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {# TODO: Graph1 and graph2 #} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {# TODO: updates is not required in graph2 #} | |
+ {{ updateVerify_task(plat, ["updates", "uptake"], "release-cdntest", "release")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["balrog"], "release", "release")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% elif is_esr %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["updates", "candidates"], "esr-localtest", "esr45")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {# TODO: Graph1 and graph2 #} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {# TODO: updates is not required in graph2 #} | |
+ {{ updateVerify_task(plat, ["updates", "uptake"], "esr-cdntest", "esr")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% for plat in en_US_config["platforms"].keys() %} | |
+ {{ updateVerify_task(plat, ["balrog"], "esr", "esr45")|indent(4) }} | |
+ {% endfor %} | |
+ | |
+ {% else %} | |
+ $!!!@#BOOOOM! | |
+ {% endif %} | |
+ | |
{% endif %} | |
# push to mirrors | |
{% if push_to_releases_enabled %} | |
{% macro push_to_releases_tasks() %} | |
{% include "push_to_releases.yml.tmpl" %} | |
{% endmacro %} | |
{{ push_to_releases_tasks()|indent(4) }} | |
diff --git a/releasetasks/templates/firefox/tc_update_verify.yml.tmpl b/releasetasks/templates/firefox/tc_update_verify.yml.tmpl | |
index e6ad0d2..a10e805 100644 | |
--- a/releasetasks/templates/firefox/tc_update_verify.yml.tmpl | |
+++ b/releasetasks/templates/firefox/tc_update_verify.yml.tmpl | |
@@ -1,19 +1,29 @@ | |
{% for channel in release_channels %} | |
{% set uv_totalchunks = 12 %} | |
{% for chunk in range(1, uv_totalchunks + 1) %} | |
{% set uv_buildername = "{}_{}_update_verify_{}".format(platform, channel, chunk) %} | |
- | |
taskId: "{{ stableSlugId(uv_buildername) }}" | |
requires: | |
+ {% if "candidates" in dependencies %} | |
{% for upstream_builder in artifact_completes_builders + artifact_partials_builders + balrog_submission_builders %} | |
- {{ stableSlugId(upstream_builder) }} | |
{% endfor %} | |
+ {% endif %} | |
+ {% if "updates" in dependencies %} | |
- {{ stableSlugId("release-{}-{}_updates".format(branch, product)) }} | |
+ {% endif %} | |
+ {% if "uptake" in dependencies %} | |
+ - {{ stableSligId("release-{}-{}_uptake_monitoring".format(branch, product)) }} | |
+ {% endif %} | |
+ {% if "balrog" in dependencies %} | |
+ - {{ stableSligId("release-{}-{}_publish_balrog".format(branch, product)) }} | |
+ {% endif %} | |
reruns: 5 | |
task: | |
provisionerId: aws-provisioner-v1 | |
workerType: opt-linux64 | |
created: "{{ now }}" | |
deadline: "{{ now.replace(days=4) }}" | |
expires: "{{ never }}" | |
priority: "high" | |
@@ -34,20 +44,21 @@ | |
env: | |
TAG: "{{ "{product}_{version}_BUILD{buildNumber}_RUNTIME".format( | |
product=product.upper(), | |
version=version.replace('.', '_'), | |
buildNumber=buildNumber ) }}" | |
TOTAL_CHUNKS: "{{ uv_totalchunks }}" | |
THIS_CHUNK: "{{ chunk }}" | |
NO_BBCONFIG: "1" | |
- VERIFY_CONFIG: "{{ "{channel}-{product}-{platform}.cfg".format( | |
+ VERIFY_CONFIG: "{{ "{channel_config_prefix}-{product}-{platform}.cfg".format( | |
platform=platform, | |
channel=channel, | |
product=product) }}" | |
+ CHANNEL: "{{ channel }}" | |
metadata: | |
owner: release@mozilla.com | |
source: https://github.com/mozilla/releasetasks | |
name: "{{ platform }} {{ channel }} update verification {{ chunk }}/{{ uv_totalchunks }}" | |
description: | | |
Verifies updates for {{ platform }} | |
extra: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment