Commit Graph

18 Commits

Author SHA1 Message Date
jonathanmetzman 421a866ea7
[build-infra] bad build check using --privileged,--cap-add=all to enable netdriver (#8871)
May fix https://github.com/google/oss-fuzz/issues/8601
2022-10-27 08:19:21 -04: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 d7b7141068
Fix ARM manifest building (#8349)
Related #8164
2022-08-31 15:18:21 +00:00
jonathanmetzman bbbbad5c07
Prepare for JavaScript fuzzing (#8325)
Prepare for JavaScript fuzzing
Related: #8324
2022-08-23 17:41:42 -04:00
jonathanmetzman 0fb63dfc7e
fix tests (#8334) 2022-08-23 14:11:30 -04:00
jonathanmetzman 1749ae2b0f
Fix failing unittest. (#8262) 2022-08-15 19:34:34 -04:00
jonathanmetzman ddd25e3c3f
[AArch64] Support building on GCB (#8197)
Implemented using buildx to emulate aarch64 using QEMU
Related: #8164
2022-08-11 16:34:13 -04:00
jonathanmetzman 572a95538a
[trial-build] Test changes to base-runner (#8199)
* [trial-build] Test changes to base-runner

* fix test
2022-08-09 19:26:19 -04:00
jonathanmetzman 3bed5727dd
Fix test (#8119) 2022-08-01 21:00:00 -04:00
jonathanmetzman 4734e40832
[trial_build] Fix bugs (#7764)
* Fix bugs

1. Don't try to build the script name as a project.
2. Add a flag to force builds of projects that previously failed.
3. Make sure we build projects from our PR branch.
4. Wait on all builds not just builds of the last type.
5. Don't use test bucket for corpus or coverage (will corpus work or fail because of creds?)

Add tests for these features.
2022-06-08 21:59:06 -04:00
jonathanmetzman 696a4dd4e5
Setup trial builds in CI. (#7415)
This adds the script that will be used by the GCB trigger to do trial builds when we have a base-images change.
2022-04-04 17:47:21 -04:00
Oliver Chang 018c86e7c8
Reland "Upload per target coverage report. (#7389)" (#7400)" (#7407)
Only upload per-target reports for C/C++.

This reverts commit 1ae57df24d.
2022-03-21 03:57:55 +00:00
jonathanmetzman 1ae57df24d
Revert "Upload per target coverage report. (#7389)" (#7400)
This reverts commit a56b6259eb.
2022-03-18 18:45:32 -04:00
Oliver Chang a56b6259eb
Upload per target coverage report. (#7389)
For #7015.
2022-03-17 10:03:34 +11:00
Navidem 42880c1e2b
FuzzIntrospector build steps (#7162)
Adds build steps for fuzz introspector to the coverage build.
2022-01-31 11:56:22 +11:00
jonathanmetzman 370fb73473
[build][infra] Improve build functions. (#6296)
Important functional changes involve mostly improvements to
the command line scripts (this doesn't affect the build infra, only
local use):

1. Make sure scripts use the same builder as builds requested by infra, otherwise builds
will be very slow and will fail for larger projects.
2. Allow users to specify --test-images to use base images with suffix "-testing"
3. Allow script users to specify --parallel for parallel builds.
4. Allow script users to specify --testing so that builds are uploaded to testing buckets.
5. Allow script users to specify --branch so that builds use specified branch instead of master.
6. Clone oss-fuzz with depth 1 for improved speed and space usage.
7. Use logging instead of writing to stderr or print.
8. Allow scripts to accept multiple projects.
9. Allow script to keep executing after failure to get build steps.
10. Change scripts to use python3.
11. Tag more so builds are easier to query.
12. Log the gcb page for each build.

Other changes include major refactoring:

1. Don't construct image names from scratch using format strings each time they are used.
Provide a helper function for this.
2. Provide a helper function,  get_env instead of constructing the env from scratch each time.
3. Move compile step into its own function: get_compile_step.
4. Move upload steps into their own helper function get_upload_steps.
5. Don't misuse the name image_project when we really mean cloud project.
6. Move cleanup step into its own helper function: get_cleanup_step.
7. Exit with returncode of main function from build_project.
8. Add unittests for build_project.
9. Make request_build share run_build code with build_project.
10. Use proper spacing in comments.
11. Test builds other than libfuzzer-ASAN-x86_64. Test other sanitizers, fuzzers and architectures
12. Make build_and_run_coverage share more code with build_project.
13. Move tests for build_and_run_coverage_test.py out of requst_coverage_test.py into their own file.
14. Use single quotes for strings.
15. Store state for a build in Build object instead of passing it everywhere.
16. Don't abuse project_yaml dict for storing project state. Use a Project object instead.
17. Better variable naming.
18. Use more classes instead of passing around arguments.
19. Use more f-strings.
20. Make scripts share main function.
21. Begin comments with uppercase and end with period.
22. Don't import functions or classes as dictated by style guide.
23. Share more test code in test_utils

Related: #6180.
2021-08-25 11:44:52 -07:00
jonathanmetzman 3a4e6e4484
[Ubuntu upgrade] Remove support for prebuilt MSAN libraries. (#6280)
This is done in anticipation of the upgrade to Ubuntu 20.04 which wont support this.
We'll do this first so we can handle any breakages caused by this step before needing to handle breakages
caused by the upgrade. However, there shouldn't be any breakages due to #6281, but there may be some projects
we overlooked.
The only exception to this is libcxx.
Related: #6180.
2021-08-25 15:36:05 +00:00
jonathanmetzman 67e3a77fd7
[NFC][infra][build] Move test data to test_data directory. (#6081)
Do this for consistency.
2021-07-21 10:07:59 -07:00