skip full wipe for --binary-path with source repos#6561
Draft
p-datadog wants to merge 1 commit intofix/binary-path-source-reposfrom
Draft
skip full wipe for --binary-path with source repos#6561p-datadog wants to merge 1 commit intofix/binary-path-source-reposfrom
p-datadog wants to merge 1 commit intofix/binary-path-source-reposfrom
Conversation
For the source-repo path, rsync --delete keeps the destination in sync incrementally — only transferring changed files and removing stale ones. This makes repeated build.sh invocations with the same --binary-path skip the copy when nothing changed, instead of doing a full wipe and re-copy of ~85MB+ repos every time. The flat-copy path (artifact-based tracers) still runs clean-binaries as before. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
|
p-datadog
pushed a commit
to p-datadog/system-tests
that referenced
this pull request
Mar 20, 2026
Reverts: - 1f95bf3 selected test detection fixed - 69e93c4 terminate self more efficiently - 100a53d exit faster when nothing is collected - 848db3c use rsync instead of cp - 42f9453 use dtr These are replaced by: - DataDog#6558 (fail fast when no tests are selected) - DataDog#6560 (fix --binary-path for source repos) - DataDog#6561 (skip full wipe for --binary-path) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
p-datadog
pushed a commit
to p-datadog/system-tests
that referenced
this pull request
Mar 20, 2026
* 'fix/binary-path-incremental-sync' of https://github.com/DataDog/system-tests: skip clean-binaries for source repos, use rsync --delete instead
|
✨ Fix all issues with BitsAI or with Cursor
|
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Builds on #6560. This is a small follow-up that makes repeated
build.shinvocations faster when using--binary-pathwith a local source repo.Today, every
build.shcall with--binary-pathrunsclean-binariesfirst — wiping everything inbinaries/— then copies the source repo back in. For a repo like dd-trace-rb (~85MB), that's a full delete and full re-copy on every invocation, even when nothing in the repo has changed.This moves
clean-binariesinto the flat-copy path only (artifact-based tracers like Java, .NET, PHP). For the source-repo path,rsync --deletehandles keeping the destination in sync incrementally — it only transfers files that actually changed and removes files that no longer exist in the source. When nothing changed, rsync does nothing.What changed
Depends on #6560 — please review that first.
This is the same pattern that
utils/scripts/watch.shuses — rsync with delete for incremental sync intobinaries/.What it feels like in practice
First run — same as before, full copy:
Second run, nothing changed — rsync skips everything:
Second run, one file changed — rsync transfers just that file:
Artifact-based workflows (Java jars, .NET tarballs, etc.) are unchanged — they still get
clean-binariesbefore the flat copy.Test plan
--binary-path ~/code/dd-trace-rbdoes a full copyclean-binariesbefore flat copyGenerated with Claude Code