-
Notifications
You must be signed in to change notification settings - Fork 709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: add buildspec file for scheduled fuzzing #4763
Conversation
- remove comment on unused var - rephrase comment - fix cmake prefix path
The scheduled fuzz tests were failing because ctest's default timeout is set to 1500 secs and our fuzz test run for ~7 hours. I made a change to override this for scheduled fuzz build so it is able to run up to 8 hours |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested using this buildspec by overriding the nightly fuzz job with a 30-second timeout
Have you tested it with no overrides? It might be a good idea to just let it run overnight to confirm the intended behavior.
Sounds good. I'll edit the codebuild job to so the next build will run against this PR using the buildspec file |
I let the scheduled fuzz test run against this PR using |
Final diff between the codebuild buildspec vs the new added
|
Resolved issues:
Part of #4748
While migrating CI fuzz jobs from Make to CMake, I am adding buildspec files instead of defining them directly in the CodeBuild configuration.
Currently, the buildspec for scheduled fuzzing is defined within the CodeBuild configuration. To maintain better organization and make code changes more trackable, we should use a buildspec file, similar to what we currently do for the GeneralFuzzBatch job.
Description of changes:
Modified how environment variables are being initialized. Previously CodeBuild's environment variables were not being read by CMake properly
Removed unused variable
FUZZ_TESTS
Call-outs:
The environment variable FUZZ_COVERAGE needs to be turned off on CodeBuild build configuration for the tests to run successfully. Currently, CMake is missing some CFlags required to generate a coverage report. I have added this as an action item in the tracking issue Port Fuzz Test to CMake #4748.
I am generating a batch job by specifying all the test names manually. This approach is inefficient because new fuzz tests need to be added to the list manually. I considered writing a script to parse through the test files and append them to this .yml file, but that might be overly complicated. I would appreciate suggestions for a better solution.
Testing:
Tested using this buildspec by overriding the nightly fuzz job with a 10-second timeout. Link to CodeBuild
s2nFuzzBatch also succeeds without error: Link to CodeBuild
Also confirmed corpus files are being updated on s3
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.