Bug 1355482 - documentation cleanups for release promotion, r=aki

Various fixes for the docs to make docs better and sphinx happier
* remove unused targets which were duplicated in  balrog, partials
* fix up malformed targets and links
* convert docstrings to comments so sphinx ignores example response in utils/partials.py
* section underlines should match titles

MozReview-Commit-ID: GSYqsocBC4I

--HG--
extra : source : e464e9bbb42fb85170f1ce35a01f25811d753871
This commit is contained in:
Nick Thomas 2018-06-27 17:42:08 +12:00
parent 6fb877a7a8
commit 7817b3216f
7 changed files with 81 additions and 101 deletions

View File

@ -1,8 +1,6 @@
Balrog in Release Promotion
===========================
.. _overview
Overview
--------
Balrog is Mozilla's update server. It is responsible for delivering newer versions of Firefox to existing Firefox installations. If you are not already, it would be useful to be familiar with Balrog's core concepts before continuing with this doc. You can find that information on `Balrog's official documentation`_.
@ -39,9 +37,9 @@ When we're ready to ship a release we need to let Balrog know about it by schedu
This step is done by the ``release-balrog-scheduling`` task in the ``ship`` phase.
``secondary`` tasks
-----------------
-------------------
You may have noticed ``secondary`` variants of the ``release-balrog-submit-toplevel``, ``release-update-verify``, ``release-final-verify``, and ``release-balrog-scheduling`` tasks. These fulfill the same function as their primary counterparts, but for the "beta" update channel. They are only used when we build Release Candidates.
.. _Balrog's official documentation: http://mozilla-balrog.readthedocs.io/en/latest/
S _balrogscript workers: https://github.com/mozilla-releng/balrogscript
.. _balrogscript workers: https://github.com/mozilla-releng/balrogscript

View File

@ -91,7 +91,7 @@ build logs, and while they produce a binary, they do not upload it as an
artifact.
static-analysis-autotest
---------------
------------------------
Static analysis autotest utility in order to be sure that there is no regression
when upgrading utilities that impact static-analysis.
@ -203,7 +203,7 @@ candidates directory to the release directory. This is part of release
promotion.
beetmover-source
-------------------
----------------
Beetmover-source publishes release source. This is part of release promotion.
@ -214,7 +214,7 @@ and sign it via the signing scriptworkers. Returns the same file signed and
additional detached signature.
release-source-checksums-signing
-------------------------------
--------------------------------
release-source-checksums-signing take as input the checksums file generated by
source-related beetmover task and sign it via the signing scriptworkers.
Returns the same file signed and additional detached signature.
@ -226,7 +226,7 @@ of Taskcluster's task artifacts (archive.mozilla.org as one place) and in the
process determines the final location and "pretty" names it (version product name)
release-beetmover-source-checksums
---------------------------------
----------------------------------
Beetmover, takes source specific artifact checksums and pushes it to a location outside
of Taskcluster's task artifacts (archive.mozilla.org as one place) and in the
process determines the final location and "pretty" names it (version product name)
@ -275,19 +275,19 @@ release-snap-repackage
Generate an installer using Ubuntu's Snap format.
release-snap-push
----------------------
-----------------
Pushes Snap repackage on Snap store.
release-notify-push
----------------------
-------------------
Notify when a release has been pushed to CDNs.
release-notify-ship
----------------------
-------------------
Notify when a release has been shipped.
release-secondary-notify-ship
----------------------
-----------------------------
Notify when an RC release has been shipped to the beta channel.
release-notify-promote
@ -343,7 +343,7 @@ release-update-verify
Verifies the contents and package of release update MARs.
release-secondary-update-verify
---------------------
-------------------------------
Verifies the contents and package of release update MARs.
release-update-verify-config
@ -363,11 +363,11 @@ release-version-bump
Bumps to the next version.
release-source
--------------------
--------------
Generates source for the release
release-source-signing
--------------------
----------------------
Signs source for the release
release-partner-repack
@ -375,7 +375,7 @@ release-partner-repack
Generates customized versions of releases for partners.
release-partner-repack-chunking-dummy
----------------------
-------------------------------------
Chunks the partner repacks by locale.
release-partner-repack-signing
@ -383,15 +383,15 @@ release-partner-repack-signing
Internal signing of partner repacks.
release-partner-repack-repackage
------------------------------
--------------------------------
Repackaging of partner repacks.
release-partner-repack-repackage-signing
------------------------------
----------------------------------------
External signing of partner repacks.
release-partner-repack-beetmover
------------------------------
--------------------------------
Moves the partner repacks to S3 buckets.
release-early-tagging
@ -399,23 +399,23 @@ release-early-tagging
Utilises treescript to perform tagging that should happen near the start of a release.
release-eme-free-repack
----------------------
-----------------------
Generates customized versions of releases for eme-free repacks.
release-eme-free-repack-signing
------------------------------
-------------------------------
Internal signing of eme-free repacks
release-eme-free-repack-repackage
------------------------------
---------------------------------
Repackaging of eme-free repacks.
release-eme-free-repack-repackage-signing
------------------------------
-----------------------------------------
External signing of eme-free repacks.
release-eme-free-repack-beetmover
------------------------------
---------------------------------
Moves the eme-free repacks to S3 buckets.
release-eme-free-repack-beetmover-checksums
@ -454,7 +454,7 @@ partials-signing
Partials-signing takes the partial updates produced in Partials and signs them.
post-balrog-dummy
--------------------
-----------------
Dummy tasks to consolidate balrog dependencies to avoid taskcluster limits on number of dependencies per task.
post-beetmover-dummy
@ -466,12 +466,11 @@ post-beetmover-checksums-dummy
Dummy tasks to consolidate beetmover-checksums dependencies to avoid taskcluster limits on number of dependencies per task.
post-langpack-dummy
------------------------------
-------------------
Dummy tasks to consolidate language pack beetmover dependencies to avoid taskcluster limits on number of dependencies per task.
fetch
-----
Tasks that obtain something from a remote service and re-expose it as a
task artifact. These tasks are used to effectively cache and re-host
remote content so it is reliably and deterministically available.

View File

@ -1,8 +1,6 @@
Partial Update Generation
=========================
.. _overview
Overview
--------
@ -15,8 +13,6 @@ The task has been called 'Funsize' for quite some time. This might
make sense depending on what brands of chocolate bar are available
near you.
.. _how the task works
How the Task Works
------------------
@ -45,7 +41,7 @@ artifact.
"previousVersion": "60.0b8",
"previousBuildNumber": "1",
"branch": "mozilla-beta"
},
}
The 'update number' indicates how many released versions there are between 'to' and the current 'from'.
For example, if we are building a partial update for the current nightly from the previous one, the update
@ -67,8 +63,6 @@ Partials are made as part of the ``promote`` task group. The previous
versions used to create the update are specified in ship-it by
Release Management.
.. _data and metrics
Data About Partials
-------------------
@ -85,8 +79,6 @@ Some examples of potentially useful metrics:
* ``releng.releases.partials.task_duration`` - the time the task took, running partial generation concurrently.
* ``releng.releases.partials.generate_partial.time`` - the time taken to make one partial update
.. _nightly partials
Nightly Partials
----------------

View File

@ -7,6 +7,8 @@ taskgraphs. The one action covers all release promotion needs: different
for each product. The input schema and release promotion flavors are defined in
the `release promotion action`_.
.. _snowman model:
The snowman model
-----------------
@ -14,8 +16,6 @@ The `release promotion action`_ allows us to chain multiple taskgraphs (aka grap
Essentially, we're using `optimization`_ logic to replace task labels in the
current taskgraph with task IDs from the previous taskgraph(s).
.. _snowman model:
This is the ``snowman`` model. If you request the body of
the snowman and point at the base, we only create the middle section of the snowman.
If you request the body of the snowman and don't point it at the base, we build the

View File

@ -16,7 +16,7 @@ phase tasks (compilation, packaging, and related tests) from the promotion
phase tasks, we can schedule each phase at their own independent cadence, as
needed, and the end-to-end time for promotion is reduced significantly.
.. _release promotion phases
.. _release promotion phases:
Release Promotion Phases
------------------------

View File

@ -1,8 +1,6 @@
Signing
=======
.. _overview
Overview
--------
@ -14,8 +12,6 @@ to sign it is in a second task. We verify the request via the `chain of trust`_,
sign the binary, then upload the signed binary or original binary + detached
signature as artifacts.
.. _how the task works
How the Task Works
------------------
@ -86,7 +82,7 @@ in `60.0`_. To generate these, we have the checksums signing kinds, including
`release-generate-checksums-signing`, `checksums-signing`, and
`release-source-checksums-signing`
.. _signing formats
.. _signing formats:
Signing formats
---------------
@ -114,7 +110,7 @@ is a ``tar.gz``.
``signcode`` signing takes individual binaries or a zipfile. We sign the
individual file or internals of the zipfile, skipping any already-signed files
and a select few blocklisted files (using the `_should_sign_windows`_ function).
and a select few blocklisted files (using the `should_sign_windows`_ function).
It returns a signed individual binary or zipfile with signed internals, depending
on the input. This format includes ``signcode``, ``osslsigncode``,
``sha2signcode``, and ``sha2signcodestub``.
@ -179,7 +175,7 @@ any other team.
.. _code signing: https://en.wikipedia.org/wiki/Code_signing
.. _chain of trust: https://scriptworker.readthedocs.io/en/latest/chain_of_trust.html
.. _depsigning: https://tools.taskcluster.net/provisioners/scriptworker-prov-v1/worker-types/depsigning
.. __should_sign_windows: https://github.com/mozilla-releng/signingscript/blob/65cbb99ea53896fda9f4844e050a9695c762d24f/signingscript/sign.py#L369
.. _should_sign_windows: https://github.com/mozilla-releng/signingscript/blob/65cbb99ea53896fda9f4844e050a9695c762d24f/signingscript/sign.py#L369
.. _Encrypted Media Extensions: https://hacks.mozilla.org/2014/05/reconciling-mozillas-mission-and-w3c-eme/
.. _signing password files: https://github.com/mozilla/build-puppet/tree/feff5e12ab70f2c060b29940464e77208c7f0ef2/modules/signing_scriptworker/templates
.. _signingscript: https://github.com/mozilla-releng/signingscript/

View File

@ -54,26 +54,23 @@ MANIFEST_QUERY = """query {
}
}
"""
r"""
Example response:
{
"data": {
"repository": {
"object": {
"text": "<?xml version=\"1.0\" ?>\n<manifest>\n " +
"<remote fetch=\"git@github.com:mozilla-partners/\" name=\"mozilla-partners\"/>\n " +
"<remote fetch=\"git@github.com:mozilla/\" name=\"mozilla\"/>\n\n " +
"<project name=\"repack-scripts\" path=\"scripts\" remote=\"mozilla-partners\" " +
"revision=\"master\"/>\n <project name=\"build-tools\" path=\"scripts/tools\" " +
"remote=\"mozilla\" revision=\"master\"/>\n <project name=\"mozilla-EME-free\" " +
"path=\"partners/mozilla-EME-free\" remote=\"mozilla-partners\" " +
"revision=\"master\"/>\n</manifest>\n"
}
}
}
}
"""
# Example response:
# {
# "data": {
# "repository": {
# "object": {
# "text": "<?xml version=\"1.0\" ?>\n<manifest>\n " +
# "<remote fetch=\"git@github.com:mozilla-partners/\" name=\"mozilla-partners\"/>\n " +
# "<remote fetch=\"git@github.com:mozilla/\" name=\"mozilla\"/>\n\n " +
# "<project name=\"repack-scripts\" path=\"scripts\" remote=\"mozilla-partners\" " +
# "revision=\"master\"/>\n <project name=\"build-tools\" path=\"scripts/tools\" " +
# "remote=\"mozilla\" revision=\"master\"/>\n <project name=\"mozilla-EME-free\" " +
# "path=\"partners/mozilla-EME-free\" remote=\"mozilla-partners\" " +
# "revision=\"master\"/>\n</manifest>\n"
# }
# }
# }
# }
# Returns the contents of desktop/*/repack.cfg for a partner repository
REPACK_CFG_QUERY = """query{
@ -100,41 +97,39 @@ REPACK_CFG_QUERY = """query{
}
}
"""
r"""
Example response:
{
"data": {
"repository": {
"object": {
"entries": [
{
"name": "mozilla-EME-free",
"object": {
"entries": [
{
"name": "distribution",
"object": {}
},
{
"name": "repack.cfg",
"object": {
"text": "aus=\"mozilla-EMEfree\"\ndist_id=\"mozilla-EMEfree\"\n" +
"dist_version=\"1.0\"\nlinux-i686=true\nlinux-x86_64=true\n" +
" locales=\"ach af de en-US\"\nmac=true\nwin32=true\nwin64=true\n" +
"output_dir=\"%(platform)s-EME-free/%(locale)s\"\n\n" +
"# Upload params\nbucket=\"net-mozaws-prod-delivery-firefox\"\n" +
"upload_to_candidates=true\n"
}
}
]
}
}
]
}
}
}
}
"""
# Example response:
# {
# "data": {
# "repository": {
# "object": {
# "entries": [
# {
# "name": "mozilla-EME-free",
# "object": {
# "entries": [
# {
# "name": "distribution",
# "object": {}
# },
# {
# "name": "repack.cfg",
# "object": {
# "text": "aus=\"mozilla-EMEfree\"\ndist_id=\"mozilla-EMEfree\"\n" +
# "dist_version=\"1.0\"\nlinux-i686=true\nlinux-x86_64=true\n" +
# " locales=\"ach af de en-US\"\nmac=true\nwin32=true\nwin64=true\n" +
# "output_dir=\"%(platform)s-EME-free/%(locale)s\"\n\n" +
# "# Upload params\nbucket=\"net-mozaws-prod-delivery-firefox\"\n" +
# "upload_to_candidates=true\n"
# }
# }
# ]
# }
# }
# ]
# }
# }
# }
# }
# Map platforms in repack.cfg into their equivalents in taskcluster
TC_PLATFORM_PER_FTP = {