Commit Graph

41 Commits

Author SHA1 Message Date
Holly Gong 8302aede5e
Add project integration PR helper (#10376)
Sample PRs (external users):
In the contact list:
https://github.com/google/oss-fuzz/pull/10422#issuecomment-1567849463
Previous contributed:
https://github.com/google/oss-fuzz/pull/10419#issuecomment-1567789169
Unknown contributor:
https://github.com/google/oss-fuzz/pull/10416#issuecomment-1567755392
Integrating new project:
https://github.com/google/oss-fuzz/pull/10439#issuecomment-1572939010

Skip commenting for internal members
2023-06-06 04:35:46 +00:00
Dongge Liu 7e66453383
Make `Centipede` a default fuzzing engine (#10109)
1. Add `centipede` to `DEFAULT_ENGINES`.
2. Remove the `fuzzing_engines` attribute from `project.yaml`s if
redundant (i.e., all default engines are included in that YAML file).
3. Temporarily disable `centipede` on `c`/`c++` projects that previously
use all `DEFAULT_ENGINES` (200 projects did not specify
`fuzzing_engines` in `project.yaml`) so that we can gradually enable
centipede later them later.
2023-04-21 09:48:45 +10:00
Khaled Yakdan b7ee58b26c
infra: remove temporary build image for Go (#9230)
Upstream Go 1.19 already contains all fuzzing improvements implemented
in the used Go fork.
2022-12-19 13:00:55 +11:00
jonathanmetzman 0f3a505e5c
Fix up bc-java-wycheproof and enable build (#8983) 2022-11-17 15:11:59 -05:00
jonathanmetzman 2301679632
[CI] Allow projects to opt-out of running tests. (#8518)
Fixes: https://github.com/google/oss-fuzz/issues/8508
2022-09-19 10:21:43 +10:00
Dongge Liu 2fa71e3c7f
Centipede's CI build, trial build, and build tests (#8422)
Adding CI build, trial build, and build tests.

Co-authored-by: Oliver Chang <oliverchang@users.noreply.github.com>
2022-09-16 09:25:49 +10:00
jonathanmetzman bbbbad5c07
Prepare for JavaScript fuzzing (#8325)
Prepare for JavaScript fuzzing
Related: #8324
2022-08-23 17:41:42 -04:00
jonathanmetzman b1c75b4e8b
Upgrade pytest to fix breakage (#7973) 2022-07-07 17:33:10 +02:00
jonathanmetzman 7be7db9e50
Remove jinja2, no longer used (#7452) 2022-03-28 14:46:04 -04:00
jonathanmetzman acd32966b9
Make CI build experimental jobs. (#7433)
Fixes https://github.com/google/oss-fuzz/issues/7432
2022-03-24 18:54:45 +00:00
dependabot[bot] e1b93ba81b
build(deps): bump pyyaml from 5.4 to 6.0 in /infra/ci (#7439)
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.4 to 6.0.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.4...6.0)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 15:32:37 +00:00
dependabot[bot] 22c78b9fbb
build(deps): bump yapf from 0.30.0 to 0.32.0 in /infra/ci (#7443)
Bumps [yapf](https://github.com/google/yapf) from 0.30.0 to 0.32.0.
- [Release notes](https://github.com/google/yapf/releases)
- [Changelog](https://github.com/google/yapf/blob/main/CHANGELOG)
- [Commits](https://github.com/google/yapf/compare/v0.30.0...v0.32.0)

---
updated-dependencies:
- dependency-name: yapf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 10:41:36 -04:00
dependabot[bot] d22dfd7718
build(deps): bump pytest-xdist from 2.2.0 to 2.5.0 in /infra/ci (#7448)
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 2.2.0 to 2.5.0.
- [Release notes](https://github.com/pytest-dev/pytest-xdist/releases)
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v2.2.0...v2.5.0)

---
updated-dependencies:
- dependency-name: pytest-xdist
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 10:26:32 -04:00
dependabot[bot] aad9bc0d23
build(deps): bump jinja2 from 2.11.3 to 3.0.3 in /infra/ci (#7450)
Bumps [jinja2](https://github.com/pallets/jinja) from 2.11.3 to 3.0.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.11.3...3.0.3)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 10:16:09 -04:00
dependabot[bot] e9585cdb1e
build(deps): bump pyfakefs from 4.1.0 to 4.5.6 in /infra/ci (#7446)
Bumps [pyfakefs](https://github.com/jmcgeheeiv/pyfakefs) from 4.1.0 to 4.5.6.
- [Release notes](https://github.com/jmcgeheeiv/pyfakefs/releases)
- [Changelog](https://github.com/jmcgeheeiv/pyfakefs/blob/master/CHANGES.md)
- [Commits](https://github.com/jmcgeheeiv/pyfakefs/compare/v4.1.0...v4.5.6)

---
updated-dependencies:
- dependency-name: pyfakefs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 10:09:34 -04:00
Dongge Liu 35d3c728c3
Base builder go experimental (#7240)
* Remove trailing lines

* Correct copyright year

* Avoid cding & using relative directory.

* To include go-codeintelligencetesting to auto-checks.
2022-02-04 04:21:55 +00:00
jonathanmetzman 5ef1f7b588
[language builders] Get rid of base-builder-new (#6361)
Build all C/C++ projects in an image without rust, java,
atheris (python), or go.
2021-09-01 13:36:17 -07:00
Abhishek Arya d88421483f
Fix go coverage build regression. (#6367)
* Fix go coverage build regression.

* Fix CI List.

* Proper fix.

* Revert one fix.
2021-08-31 21:25:24 -07:00
asraa 9de43be271
add swift (#6270)
Signed-off-by: Asra Ali <asraa@google.com>
2021-08-23 16:47:54 +00:00
asraa 30d927e324
New base builder without lang specific installation + swift base (#5986)
Removes unnecessary stuff in base-builder image to create a base-builder-new, and then adds a base-builder-swift on top of this that swift projects can use (without JVM/Go/etc fuzzing).
2021-08-20 09:52:44 +10:00
dependabot[bot] 165e3a368c
Bump jinja2 from 2.10 to 2.11.3 in /infra/ci (#6172)
Bumps [jinja2](https://github.com/pallets/jinja) from 2.10 to 2.11.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.10...2.11.3)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-06 08:51:29 -07:00
jonathanmetzman d01808333d
[cifuzz] Fuzz in cifuzz-base (#6142)
Fixes: #5926
2021-08-05 13:27:24 -07:00
jonathanmetzman aac1cb8c76
[infra][NFC] Use one source of truth for engines, languages etc. (#6163)
Do this only where it makes sense. For example, since CIFuzz doesn't
support dataflow, maintain a separate source of truth.
2021-08-04 17:04:55 -07:00
MarcoFalke aed20a9b62
ci: Fix get_changed_files_output (#5944)
* ci: Fix get_changed_files_output

* Update project_tests.yml

* ci: Fix presubmit checks

* ci: Use fetch-depth:0 instead of --unshallow
2021-06-21 07:14:41 -07:00
jonathanmetzman 624a294bff
[CIFuzz] Allow run_fuzzers to use a preexisting corpus. (#5928)
* [CIFuzz] Allow run_fuzzers to use a preexisting corpus.

Also improve comment in cifuzz-base/Dockerfile.

* improve comment

* Fix run_fuzzers
Add --cache option to helper.py's build_image command which
uses the docker image cache when building and use this in
ci/build.py.
Change build_image_impl's argument no_cache to cache for clarity.
Eliminate default argument cache in build_fuzzers_impl since no users
use it.
2021-06-17 08:32:20 -07:00
Fabian Meumertzheim a1b558719b
[infra] Verify JVM coverage builds in the CI (#5752) 2021-05-12 14:57:26 +00:00
jonathanmetzman 033a858be0
[infra] Set OSS_FUZZ_CI=1 in CI so build scripts can know (#5731)
This will help bitcoin use CI to verify the build works, because
the last step is trivial (so testing not really needed) but will
fill up the disk.
2021-05-07 07:46:11 -07:00
dependabot[bot] 2ee9dae19f
Bump pyyaml from 5.3.1 to 5.4 in /infra/ci (#5511)
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-25 20:43:57 -07:00
Catena cyber c41e46ffc8
Rust coverage report (for Suricata) (#4697)
* Rust coverage test

* Workaround to get rust coverage for Suricata
2021-03-08 07:05:35 -08:00
jonathanmetzman 6e38a76220
[infra] Improve test speed (#5118)
Make unittests take 20 seconds to run instead of 35.
Make integration tests take 50 seconds to run instead of 6 minutes.
Make CI take 6 minutes instead of 12 minutes.

1. Allow running tests in parallel. Locally this takes the time for running all tests (including integration tests) from 6 minutes to ~50 seconds. We don't do parallel by default since it doesn't really save any time unless running integration tests on my machine (probably due to overhead of starting ~70 processes). This also speeds up CI from about 12 minutes to 6 minutes  (since github actions has 2 cores per machine).
2. Fix how we run tests. I'm not exactly sure why, but the method we used for discovering tests, recursing through every directory and passing to unittest caused the build/infra tests to execute twice. Fixing this makes running unittests take ~20 seconds instead of ~35.

This change also uses pytest for running tests since it's easy to use it to run tests in parallel.
This change was made possible by #5113
2021-02-05 06:10:42 -08:00
Abhishek Arya d45336243a
Simplify changed files logic. (#5056) 2021-01-27 17:43:15 -08:00
Abhishek Arya aeb1be4b6e
Fix get_changed_files in infra/ci. (#5055)
Fixes https://github.com/google/oss-fuzz/issues/5022
2021-01-28 11:06:04 +11:00
Abhishek Arya 26dd144e52
Build modified projects as well when infra is modified. (#5019) 2021-01-20 11:37:37 -08:00
Catena cyber 2db56c4174
Golang project uses compile_go_fuzzer script (#4685)
* Golang project uses compile_go_fuzzer script

* Kubernetes project uses compile_go_fuzzer script

* Adds golang to ci covergae builds

* fixup

* Golang coverage with go modules

cf coredns project
2020-11-21 07:11:43 -08:00
jonathanmetzman a28d03be6e
Build base-images before building projects in CI (#4679)
This will help us catch breaking changes to the base-images.
Unfortunately caching seems to fail here when I expect it to help. 
For example, base-builder doesn't build from cache when I do it locally.
This means that every other image I try to build doesn't use the cache. 
That means that base-clang would take forever to rebuild. 
So to compromise, I don't rebuild base-clang here.
This means that this PR won't catch breaking changes to base-image or base-clang that break in base-builder.
But it will catch breaking changes to base-image that break in base-runner and it will catch breaking changes to base-runner and base-builder.
2020-11-20 10:09:17 -08:00
jonathanmetzman 486c1c3e9d
[CI] Build a canary project on infra/ changes. (#4675)
[CI] Build a canary project on infra/ changes.

Build a specific project, sckms, that does msan, ubsan, asan, i386
builds quickly, when infra/ code is changed. This can let us know
when infra/ changes break proper functioning of OSS-Fuzz.
For this to work more thoroughly we also need to rebuild images.
2020-11-20 08:40:47 -08:00
jonathanmetzman db8467bf30
[CI] Don't do coverage builds for engineless fuzzers. (#4374)
Coverage builds need to be special cased since they aren't specified
in sanitizers. Instead they are done for all C/C++ projects that
use libFuzzer.

Move all of this special casing to `should_build_coverage` and call that from
`should_build` so we have one place where we decide this.
Add tests as well.

Fixes: https://github.com/google/oss-fuzz/issues/4371
2020-08-26 11:59:56 -07:00
Abhishek Arya cfb18fbea7
CI fix. (#4139) 2020-07-15 09:46:24 -07:00
Abhishek Arya b74211ecf9
Skip coverage build in CI for non C/C++ projects. (#4075)
* Skip coverage build in CI for non C/C++ projects.

Fixes https://github.com/google/oss-fuzz/issues/4074

* Test wasmtime.
2020-07-06 13:13:02 -07:00
Evgeny Vereshchagin 25cff8db8e
[util-linux] cover mnt_table_parse_stream (#4032)
* [util-linux] cover mnt_table_parse_stream

Waiting for https://github.com/karelzak/util-linux/pull/1068

* temporarily point OSS-Fuzz to evverx/util-linux

* make sure it can be built with sanitizer=coverage
2020-06-25 15:35:44 -07:00
Abhishek Arya 7101ec4d4b
Add Github Actions CI. (#3971) 2020-06-12 14:39:16 -07:00