diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /tools/tryselect/docs/index.rst | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tools/tryselect/docs/index.rst')
-rw-r--r-- | tools/tryselect/docs/index.rst | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/tools/tryselect/docs/index.rst b/tools/tryselect/docs/index.rst new file mode 100644 index 0000000000..94cc785ad0 --- /dev/null +++ b/tools/tryselect/docs/index.rst @@ -0,0 +1,86 @@ +Try Server +========== + +Try server, usually just referred to as try, is the easiest way to test a change without actually +checking anything into a core repository. The change will undergo the same kinds of builds and tests +as if it had landed on a regular integration branch, but will not get merged with mozilla-central. + +Try is just another mercurial repository (like autoland or mozilla-central) with a few key +differences: + + 1. Pushing new heads is allowed. + 2. It is non-publishing. + +The first point means that you'll never need to pull and rebase before pushing, each push creates a +new head. In fact, the ability to push from old changesets is a very valuable property of try which +is often used for things like regression hunting. + +The second point means that draft changesets (changesets that only exist in your local repository), +will remain in the draft state after pushing. Normally when pushing to an integration branch, a +changeset gets marked 'public'. This ensures changes that are shared with others don't accidentally +get mutated. Pushing to try doesn't actually share the changeset with anyone, so changesets remain +in the 'draft' state and they are still ok to mutate. + +Using Try +--------- + +Before you can push to try, you'll need to have the proper credentials and do some light setup. See +the :doc:`configuration` page for more information. + +The recommended way to push to try is via the ``mach try`` command. This will work with mercurial +(via the ``push-to-try`` extension) and git (via ``git-cinnabar``). The ``mach try`` command offers +a variety of different ``selectors`` which are implemented as a subcommands. See :doc:`selectors +<selectors/index>` for available list. + +If no subcommand is specified, ``mach try`` will a subcommand to dispatch to. By default this is +the ``auto`` selector. In other words, these commands are equivalent: + +.. code-block:: shell + + $ mach try + $ mach try auto + +You can choose to use a different default selector by configuring your ``~/.mozbuild/machrc`` file: + +.. code-block:: ini + + [try] + default=fuzzy + +.. _attach-job-review: + +Attaching new jobs from a review +-------------------------------- + +For every patch submitted for review in Phabricator, a new Try run is automatically created. +A link called ``Treeherder Jobs`` can be found in the ``Diff Detail`` section of the review in +Phabricator. + +.. image:: img/phab-treeherder-link.png + +This run is created for static analysis, linting and other tasks. Attaching new jobs to the run is +easy and doesn't require more actions from the developer. +Click on the down-arrow to access the actions menu, select the relevant jobs +and, click on ``Trigger X new jobs`` (located on the top of the job). + +.. image:: img/add-new-jobs.png + +Table of Contents +----------------- + +.. toctree:: + :maxdepth: 2 + + configuration + selectors/index + presets + tasks + + +Indices and tables +------------------ + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + |