Share object across fuzz targets & increase build timeout#662
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 173bc7b1c2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| objectFiles.from( | ||
| project.fileTree(sharedObjDir) { include("*.o") }, | ||
| project.fileTree(objDir) { include("*.o") } |
There was a problem hiding this comment.
Avoid linking stale per-target profiler objects
When a developer or CI runner reuses a workspace that already built fuzz targets before this change, the old per-target directories still contain profiler objects because NativeCompileTask.compile() only creates the output directory and writes the current sources; it does not remove obsolete *.o files. This link input now adds the new shared profiler objects and every *.o left in objDir, so linkFuzz_* can link duplicate copies of profiler objects such as arguments.o and fail with duplicate symbols. Please clean/relocate the target object directory or include only the fuzz driver object from objDir.
Useful? React with 👍 / 👎.
CI Test ResultsRun: #29483831347 | Commit:
Status Overview
Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled Summary: Total: 32 | Passed: 32 | Failed: 0 Updated: 2026-07-17 08:16:32 UTC |
|
🔄 Datadog auto-retried 1 job - 0 passed on retry 🔗 Commit SHA: 173bc7b | Docs | Datadog PR Page | Give us feedback! |
What does this PR do?:
Shared object are now reused instead of being recompiled for every target.
Also bumping the timeout to 1h30 (which should be plenty enough now).
The fuzz jobs are async & daily, having larger timeout shouldn't be noticeable for end users.
Motivation:
Fuzz tests generation where timing out.
Additional Notes:
How to test the change?:
For Datadog employees:
credentials of any kind, I've requested a security review (run the
dd:platform-security-reviewskill, or file a request via the PSEC review form).
bewairealso runs automatically on every PR.Unsure? Have a question? Request a review!