Fuzzfetch is a python tool for retrieving builds from the Firefox-CI Taskcluster instance.
Overview
Fuzzfetch can be used to retrieve nearly any build type indexed by Firefox-CI. This includes AddressSanitizer, ThreadSanitizer, Valgrind, debug, and Fuzzing builds for both Firefox and Spidermonkey.
Installation
pip install fuzzfetch
Usage
Fuzzfetch supports the following arguments:
usage: fuzzfetch [-h] [--target [TARGET ...]]
[--os {Android,Darwin,Linux,Windows}]
[--cpu {AMD64,ARM64,aarch64,arm,arm64,i686,x64,x86,x86_64}]
[--build DATE|REV|NS]
[--central | --release | --beta | --esr-stable | --esr-next | --try | --autoland]
[-d] [-a] [-t] [--fuzzing] [--fuzzilli] [--coverage]
[--valgrind] [--no-opt] [--nyx] [--searchfox] [-n NAME]
[-o OUT] [--dry-run] [--nearest-newer | --nearest-older] [-V]
options:
-h, --help show this help message and exit
-V, --version print version and exit
Target:
--target [TARGET ...]
Specify the build artifacts to download. Valid
options: firefox js common gtest mozharness searchfox
(default: firefox)
--os {Android,Darwin,Linux,Windows}
Specify the target system. (default: Linux)
--cpu {AMD64,ARM64,aarch64,arm,arm64,i686,x64,x86,x86_64}
Specify the target CPU. (default: x86_64)
Build:
--build DATE|REV|NS Specify the build to download, (default: latest)
Accepts values in format YYYY-MM-DD (2017-01-01)
revision (57b37213d81150642f5139764e7044b07b9dccc3) or
TaskCluster namespace (gecko.v2....)
Branch:
--central Download from mozilla-central (default)
--release Download from mozilla-release
--beta Download from mozilla-beta
--esr-stable Download from esr-stable
--esr-next Download from esr-next
--try Download from try
--autoland Download from autoland
Build Arguments:
-d, --debug Get debug builds w/ symbols (default=optimized).
-a, --asan Download AddressSanitizer builds.
-t, --tsan Download ThreadSanitizer builds.
--fuzzing Download --enable-fuzzing builds.
--fuzzilli Download --enable-js-fuzzilli builds.
--coverage Download --coverage builds.
--valgrind Download Valgrind builds.
--no-opt Download non-optimized builds.
--nyx Download Nyx snapshot builds.
--searchfox Download searchfox data.
Misc. Arguments:
-n NAME, --name NAME Specify a name (default=auto)
-o OUT, --out OUT Specify output directory (default=.)
--dry-run Search for build and output metadata only, don't
download anything.
Near Arguments:
If the specified build isn't found, iterate over builds in the specified
direction
--nearest-newer Search from specified build in ascending order
--nearest-older Search from the specified build in descending order
Simple Build Retrieval
To retrieve the latest build from mozilla-central built with --enable-address-sanitizer
and --enable-fuzzing
, you can use the following:
fuzzfetch -a --fuzzing
To retrieve the latest build from mozilla-central built with --enable-debug
, you can use the following:
fuzzfetch --target js -d
To retrieve a specific revision from mozilla-central, you can use the following:
fuzzfetch --build 08471023c834