You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
inner_build_artifact had a simple if artifact_path.exists() { return } check that skipped cargo build entirely when the binary file was on disk, even if source code had changed. This caused bin_test tests to run against stale binaries after code edits.
Changes rebuild_artifacts (used by the prebuild step): Always invokes cargo build, letting cargo's own dependency tracking handle staleness. fetch_built_artifacts (used by tests): Only looks up the prebuilt artifact path. If it doesn't exist, the test fails with a message telling the developer to add the artifact to all_prebuild_artifacts(). No silent fallback building that would hide missing prebuild entries and slow down CI.
Run cargo nextest run locally with clean artifacts directory, then making changes to observe rebuild of stale artifacts, then again with no changes to observe cargo handling of non-stale files
[in progress]: doing the same combination of runs as the above local verification but in CI
This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.
This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 4ee2470 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!
❌ Patch coverage is 63.15789% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.50%. Comparing base (ce9506c) to head (4ee2470).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
inner_build_artifacthad a simpleif artifact_path.exists() { return }check that skipped cargo build entirely when the binary file was on disk, even if source code had changed. This caused bin_test tests to run against stale binaries after code edits.Changes
rebuild_artifacts(used by the prebuild step): Always invokes cargo build, letting cargo's own dependency tracking handle staleness.fetch_built_artifacts(used by tests): Only looks up the prebuilt artifact path. If it doesn't exist, the test fails with a message telling the developer to add the artifact toall_prebuild_artifacts(). No silent fallback building that would hide missing prebuild entries and slow down CI.Motivation
Noticed bin_tests running against stale binaries here: https://gitlab.ddbuild.io/DataDog/apm-reliability/libddprof-build/-/jobs/1559430494
[PROF-14184]
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Run
cargo nextest runlocally with clean artifacts directory, then making changes to observe rebuild of stale artifacts, then again with no changes to observe cargo handling of non-stale files[in progress]: doing the same combination of runs as the above local verification but in CI