linter: do not attempt to check for copying ignored file when negated patterns exist#6534
Merged
tonistiigi merged 1 commit intomoby:masterfrom Feb 24, 2026
Conversation
… patterns exist It becomes too difficult to statically check whether a source path is an error or expected when negated patterns are involved. This is because a pattern may point to a directory and may exclude the directory, but a further pattern may exclude a specific pattern in that directory. In order to determine whether this happened when copying a source directory, we'd need to either have some knowledge of the actual files copied (wouldn't be a static pattern) or we would need to go through each exclusion and try to determine if there exists a certain text that would match both the original pattern and the excluded pattern. This is likely too difficult or too computationally intense for what's meant to be a simple linter check so just disable this linter check when exclusions exist. Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
tonistiigi
approved these changes
Feb 24, 2026
tinovyatkin
added a commit
to wharflab/tally
that referenced
this pull request
Mar 5, 2026
- Normalise buildkit version in SARIF snapshot so dependency bumps don't break tests - Backport moby/buildkit#6534: skip CopyIgnoredFile when .dockerignore contains negated patterns (static analysis is unreliable with exclusions) - Backport moby/buildkit#6501: allow _FILE and _VERSION suffixes in SecretsUsedInArgOrEnv to reduce false positives Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
It becomes too difficult to statically check whether a source path is an
error or expected when negated patterns are involved. This is because a
pattern may point to a directory and may exclude the directory, but a
further pattern may exclude a specific pattern in that directory.
In order to determine whether this happened when copying a source
directory, we'd need to either have some knowledge of the actual files
copied (wouldn't be a static pattern) or we would need to go through
each exclusion and try to determine if there exists a certain text that
would match both the original pattern and the excluded pattern.
This is likely too difficult or too computationally intense for what's
meant to be a simple linter check so just disable this linter check when
exclusions exist.
Fixes #6512.