Adds two new flags to make_incremental_zucchini.py:
* --generate-hashes: writes a hashes.json file alongside manifest.json,
keyed by dest_mar with {from_mar_files: {rel_path: sha256}, to_mar_files:
{rel_path: sha256}} for every file in each from-mar and the to-mar.
* --patch-cache-dir: loads a hashes.json from the given directory, extracts
the matching cached partial mar for each from-mar processed, and short-
circuits the per-file diff path when both the from and to sha256 hashes
match a cache entry (copies {rel_path}.patch or {rel_path} out of the
extracted cached mar and writes the same manifest line). Any miss falls
back silently to the existing zucchini path with an INFO log.
get_hash gains an algo="sha512" parameter so the same helper covers both
the existing sha512 mar-level digests and the new per-file sha256 hashes.
Adds unit tests at tools/update-packaging/test/ covering _hash_dir and the
_maybe_use_cached_file happy paths plus all miss paths.
Differential Revision: https://phabricator.services.mozilla.com/D297891
78 lines
2.2 KiB
INI
78 lines
2.2 KiB
INI
# 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/.
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("Core", "General")
|
|
|
|
with Files("code-coverage/**"):
|
|
BUG_COMPONENT = ("Testing", "Code Coverage")
|
|
|
|
with Files("compare-locales/mach_commands.py"):
|
|
BUG_COMPONENT = ("Localization Infrastructure and Tools", "compare-locales")
|
|
|
|
with Files("lint/**"):
|
|
BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting")
|
|
|
|
with Files("moztreedocs/**"):
|
|
BUG_COMPONENT = ("Developer Infrastructure", "Source Documentation")
|
|
SCHEDULES.exclusive = ["docs"]
|
|
|
|
with Files("profiler/**"):
|
|
BUG_COMPONENT = ("Core", "Gecko Profiler")
|
|
|
|
with Files("performance/**"):
|
|
BUG_COMPONENT = ("Core", "Gecko Profiler")
|
|
|
|
with Files("quitter/**"):
|
|
BUG_COMPONENT = ("Testing", "General")
|
|
|
|
with Files("rb/**"):
|
|
BUG_COMPONENT = ("Core", "XPCOM")
|
|
|
|
with Files("rewriting/**"):
|
|
BUG_COMPONENT = ("Developer Infrastructure", "Source Code Analysis")
|
|
|
|
with Files("tryselect/**"):
|
|
BUG_COMPONENT = ("Developer Infrastructure", "Try")
|
|
|
|
with Files("tryselect/selectors/release.py"):
|
|
BUG_COMPONENT = ("Release Engineering", "General")
|
|
|
|
with Files("ts/**"):
|
|
BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting")
|
|
|
|
with Files("update-packaging/**"):
|
|
BUG_COMPONENT = ("Release Engineering", "General")
|
|
|
|
with Files("update-verify/**"):
|
|
BUG_COMPONENT = ("Release Engineering", "Release Automation")
|
|
|
|
with Files("vcs/**"):
|
|
BUG_COMPONENT = ("Firefox Build System", "General")
|
|
|
|
SPHINX_TREES["moztreedocs"] = "moztreedocs/docs"
|
|
|
|
SPHINX_TREES["try"] = "tryselect/docs"
|
|
|
|
SPHINX_TREES["fuzzing"] = "fuzzing/docs"
|
|
|
|
SPHINX_TREES["sanitizer"] = "sanitizer/docs"
|
|
|
|
SPHINX_TREES["code-coverage"] = "code-coverage/docs"
|
|
|
|
SPHINX_TREES["profiler"] = "profiler/docs"
|
|
|
|
SPHINX_TREES["update-verify"] = "update-verify/docs"
|
|
|
|
with Files("tryselect/docs/**"):
|
|
SCHEDULES.exclusive = ["docs"]
|
|
|
|
PYTHON_UNITTEST_MANIFESTS += [
|
|
"code-coverage/tests/python/python.toml",
|
|
"fuzzing/smoke/python.toml",
|
|
"lint/test/python.toml",
|
|
"tryselect/test/python.toml",
|
|
"update-packaging/test/python.toml",
|
|
]
|