This can be useful for artifacts we want to upload that we know
do not need to be tarred, such as crashes. It's important not
to tar these because they will need to be viewed by users.
Previously, the downloaded build was uploaded instead of the new build.
This regression was introduced when the big workspace change was made.
Also, add more logging.
Also rename code uses from `project_name` to `oss_fuzz_project_name`, to
be more explicit, and use it to determine whether or not we're running
an OSS-Fuzz project or not.
For external fuzzing #6051.
1. Make coverage script accept an env var that controls where the generated report is written to. Use this in generate_coverage_report.
2. Rename CoverageGetter to OSSFuzzCoverage
3. Make affected_fuzz_targets get coverage object from clusterfuzz_deployment.
4. Add stubbed FilesystemCoverage class that will be used by non-OSS-Fuzz users.
5. Make ClusterFuzzLite able to return coverage object by downloading old coverage report and returning a FilesystemCoverage object.
6. Add stub to ClusterFuzzLite for uploading coverage.
Related: #6054
[infra][build] Set HOME=/root on GCB when doing fuzzer builds.
GCB passes HOME as env var to the docker container. It sets
HOME to /builder/home which is persisted accross builds.
This issue causes build breakages in
https://github.com/google/oss-fuzz/issues/6035
and possibly https://github.com/google/oss-fuzz/issues/5317.
Perhaps more insidiuosly it can cause fuzzers to be built with
the wrong instrumentation.
* [build/infra] Build engines in alphabetical order.
Previously, a project fuzz targets were usually built in the order:
libfuzzer, afl, honggfuzz. This can bias results if one is looking
at which engine finds bugs first.
* fix tests
* lnt
This is an entrypoint for CIFuzz users that can't build two docker images
(e.g. prow users).
Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
* [infra] Add support for rules_fuzzing's java_fuzz_test macro
* [infra] Update bazelisk for rolling release support
* [infra] Fix C++ stdlib mixing for uninstrumented Bazel targets
The build script for Bazel rules_fuzzing tests did not set the C++
stdlib for uninstrumented C++ binaries, which thus use the system
libstdc++ instead of the libc++ built from source.
* [rules_fuzzing] Add test project for rules_fuzzing's java_fuzz_test