gecko-dev/taskcluster/docs/caches.rst

44 строки
1.6 KiB
ReStructuredText

.. taskcluster_caches:
=============
Common Caches
=============
There are various caches used by the in-tree tasks. This page attempts to
document them and their appropriate use.
Version Control Caches
======================
level-{{level}}-hg-shared
This cache holds Mercurial *stores*: this is the historical data of a
Mercurial repository (as opposed to a checkout or working directory).
This cache should ideally be written to by the ``hg robustcheckout``
command, which is the preferred mechanism to clone a Mercurial repository
in automation.
When using ``hg robustcheckout``, data for the same logical repository
will automatically be stored in the same directory in this cache. e.g.
data for the Firefox repository will be in the directory
``8ba995b74e18334ab3707f27e9eb8f4e37ba3d29``, which is the SHA-1 of the
first revision in the Firefox repository. This helps ensure that any
given changeset is only stored once in the cache. This is why there is
no ``{{project}}`` component in the cache name.
level-{{level}}-checkouts
This cache holds version control checkouts or working directories. This
is distinct from the cache that holds the version control *store* data.
Ideally, checkouts should be read-only. If a task needs to create new
files from content of a checkout, this content should be written in
a separate directory/cache (like a workspace).
Workspace Caches
================
level-{{level}}-*-workspace
These caches (of various names typically ending with ``workspace``)
contain state to be shared between task invocations. Use cases are
dependent on the task.