mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 13:51:41 +00:00
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:
parent
6fb877a7a8
commit
7817b3216f
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
----------------
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
------------------------
|
||||
|
@ -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/
|
||||
|
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user