Bug 1658218 - Document how to disable daily builds. r=darktrojan DONTBUILD BETA_BASE_20200824
authorRob Lemley <rob@thunderbird.net>
Mon, 24 Aug 2020 17:27:18 +0000
changeset 30440 48377d7ed5b66fdaef6bea0359a8c55f236fb83a
parent 30439 0d5c4c296e6b1b252a06eb6d54a0cd19dafd2252
child 30441 5920ca45ec1bb54c205064504887baa8cc0fd437
push id17878
push userthunderbird@calypsoblue.org
push dateMon, 24 Aug 2020 17:29:49 +0000
treeherdercomm-central@48377d7ed5b6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdarktrojan
bugs1658218
Bug 1658218 - Document how to disable daily builds. r=darktrojan DONTBUILD Make .cron.yml consistent with itself and provide some comments and a reference to additional information. Differential Revision: https://phabricator.services.mozilla.com/D87935
.cron.yml
taskcluster/docs/cron.rst
taskcluster/docs/index.rst
--- a/.cron.yml
+++ b/.cron.yml
@@ -1,29 +1,30 @@
 # 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/.
 ---
 # Definitions for jobs that run periodically.  For details on the format, see
 # `taskcluster/taskgraph/cron/schema.py`.  For documentation, see
 # `taskcluster/docs/cron.rst`.
+#
+# Thunderbird specific documentation: `comm/taskcluster/docs/cron.rst`
+# To disable Daily builds, set `when: []` on the `nightly-desktop` and
+# `searchfox-index` jobs and push to comm-central.
 
 jobs:
     - name: nightly-desktop
       job:
           type: decision-task
           treeherder-symbol: Nd
           target-tasks-method: nightly_desktop
       run-on-projects:
           - comm-central
-      when:
-          by-project:
-              # Match buildbot starts for now
-              comm-central: [{hour: 11, minute: 0}]
-              # No default
+      when: [{hour: 11, minute: 0}]
+      # when: []
 
     - name: nightly-linux
       job:
           type: decision-task
           treeherder-symbol: Nd-Ln
           target-tasks-method: nightly_linux
       run-on-projects:
           - comm-central
@@ -58,19 +59,20 @@ jobs:
 
     - name: searchfox-index
       job:
           type: decision-task
           treeherder-symbol: Searchfox
           target-tasks-method: comm_searchfox_index
       run-on-projects:
           - comm-central
-      when:
-          - {hour: 11, minute: 0}
+      when: [{hour: 11, minute: 0}]
+      # when: []
 
     - name: l10n-bumper
       job:
           type: decision-task
           treeherder-symbol: l10n-bump
           target-tasks-method: l10n_bump
       run-on-projects:
           - comm-beta
       when: [{hour: 8, minute: 30}]
+      # when: []
new file mode 100644
--- /dev/null
+++ b/taskcluster/docs/cron.rst
@@ -0,0 +1,57 @@
+Periodic Taskgraphs
+===================
+
+The cron functionality allows in-tree scheduling of task graphs that run
+periodically, instead of on a push.
+
+
+Cron.yml
+--------
+
+In the root of the Comm directory, you will find `.cron.yml`.  This defines
+the periodic tasks ("cron jobs") that run for Thunderbird.
+
+See `the Firefox CI cron documentation <https://firefox-source-docs.mozilla.org/taskcluster/cron.html>`_
+for a description of `.cron.yml`.
+
+
+Disabling Cron Jobs
+-------------------
+
+Sometimes due to build bustage, it's desirable to disable the automatic
+Thunderbird Daily builds. The best way to do this is to change `.cron.yml`
+so that the jobs are never scheduled. This is done by changing `when` to an
+empty list.
+
+The Daily build is started by the `nightly-desktop` job. Additionally, there
+is a `searchfox-index` job that should be disabled as well when disabling
+Dailies.
+
+For both of these, comment out the `when` line that sets a time and uncomment
+the next line which sets an empty list.
+
+.. code-block:: yaml
+  :linenos:
+  :emphasize-lines: 8,9
+
+    - name: nightly-desktop
+      job:
+          type: decision-task
+          treeherder-symbol: Nd
+          target-tasks-method: nightly_desktop
+      run-on-projects:
+          - comm-central
+      when: [{hour: 11, minute: 0}]
+      # when: []
+
+
+L10n-bump Cron Job
+------------------
+
+`l10n-bump` runs daily on comm-beta. For RC week (week 4) it needs to be
+disabled by pushing a change directly to `comm-beta` setting ``when`` to
+an empty list as above.
+
+**Do not make the change on comm-central first.** `l10n-bump` will be
+re-enabled by merge day activities automatically.
+
new file mode 100644
--- /dev/null
+++ b/taskcluster/docs/index.rst
@@ -0,0 +1,21 @@
+.. taskcluster_index:
+
+TaskCluster Task-Graph Generation
+=================================
+
+The ``comm/taskcluster`` directory contains support for defining the graph of tasks
+that must be executed to build and test Thunderbird.
+
+As Thunderbird is built on top of Firefox's source, the
+`Firefox Taskgraph documentation <https://firefox-source-docs.mozilla.org/taskcluster/index.html>`_
+is an invaluable resource.
+
+The documentation here describes Thunderbird specifics.
+
+.. toctree::
+
+    kinds
+    loading
+    transforms
+    cron
+