Commit Graph

15 Commits

Author SHA1 Message Date
jonathanmetzman d01808333d
[cifuzz] Fuzz in cifuzz-base (#6142)
Fixes: #5926
2021-08-05 13:27:24 -07:00
jonathanmetzman 432105a31a
[cifuzz][NFC] Move Workspace to workspace_utils. (#6158)
In hindsight, it doesn't have a lot to do with the rest of
config_utils. And config_utils is getting crowded.
2021-08-03 17:58:20 -07:00
jonathanmetzman c75d1b362f
[cifuzz] Create validate method on BaseConfig (#6135)
* [cifuzz] Create validate method on BaseConfig

Use it to validate that either OSS_FUZZ_PROJECT_NAME
or BUILD_INTEGRATION_PATH is set.
Also use it to validate that workspace is set
(rather than duplicate code).
Add tests.

* Use env var hack to bypass valdiation

* fix

* fix

* fmt

* fix

* tmp

* fix
2021-08-02 12:37:37 -07:00
jonathanmetzman 729a8fe695
[NFC][cifuzz] Improve env var handling. (#6137)
Also delete useless TODOs.
2021-07-29 08:31:51 -07:00
jonathanmetzman 6f0aa82cd1
[NFC][cifuzz] Move Workspace from docker into config_utils. (#6117)
It doesn't really fit into docker.
2021-07-27 12:11:53 -07:00
Oliver Chang c7cab23c20
Make oss-fuzz-project-name optional. (#6071)
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.
2021-07-21 05:32:32 +00:00
Mitchel Herman faea660c5e
Add CIFuzz external entrypoint for cifuzz base (#5906)
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>
2021-06-30 17:19:03 -07:00
jonathanmetzman 0672aa4e1f
[CIFuzz] Don't make everything a subdirectory of /out (#5970)
Use different subdirectories of workspace for builds, old builds, coverage reports, corpora and artifacts/testscases.
2021-06-30 07:34:42 -07:00
jonathanmetzman 00ad715801
[CIFuzz] Make it possible to skip bad build check. (#5475)
This will mainly be useful for non-OSS-Fuzz users.
Though it can also be used by OSS-Fuzz users to speed things
up (very slightly in most cases).
Fixes #4377
2021-03-23 09:22:53 -07:00
jonathanmetzman 28b35e36fe
[CIFuzz] Support languages non-C++ projects (e.g. Python projects) (#5222)
Allow use of non-C++ projects by specifying the language in the workflow file.
Fixes #5195
2021-02-19 11:54:15 -08:00
jonathanmetzman a21e218511
[cifuzz][NFC] Rename cifuzz.py to build_fuzzers.py (#5107)
Since cifuzz.py now only deals with building fuzzers, change the
name to build_fuzzers.py
2021-02-04 06:52:22 -08:00
jonathanmetzman f2756d7321
[CIFuzz] Move run_fuzzers to new config system (#5063)
Also, decide is_github based on something not used/faked by Skia.
2021-01-29 09:49:03 +11:00
jonathanmetzman d7e85a20b0
[CIFuzz] Fix diffing + Refactor (#5032)
* [CIFuzz] Fix diffing + Refactor

Make diffing work in two scenarios where it previously failed:
1. Commit fuzzing. In this case, we diff $COMMIT against
$COMMIT^1 because the intent here is to fuzz the commit.
2. Fuzzing PRs that aren't to master. In this case, we previously
were diffing against origin/master. Instead, diff against the local
version of the base repo. This also has the nice effect of handling
PRs that havent pulled from master recently enough.

Also do refactoring.
1. Move code that is different for differenct CI systems to continuous_integration.py
2. Change how configuration in build_fuzzers is handled.
Previously configuration was gotten in build_fuzzers_entrypoint
and passed as individual params. This made code ugly and hard to
read. Instead, move code dealing with config to it's own module
config_utils. This module implements a config class which can
be used to create objects that are passed around to code that needs
it. Making the code much easier to read.
TODO: Move run_fuzzers code to new config system.
2021-01-28 12:10:57 -08:00
Jonathan Metzman b3e30e5170 Fix lint function and add pylint directive 2021-01-20 13:29:47 -08:00
jonathanmetzman b998058ef3
Move entrypoints for CIFuzz to cifuzz folder. (#5020)
Move entrypoints for CIFuzz to cifuzz.
This allows us to reduce some complexity by getting rid of
an unnecessary copy in docker and a hack to making importing work.
2021-01-20 13:23:55 -08:00