Skip to content

Address codacy trivy issues#151

Open
mason-sharp wants to merge 1 commit into
mainfrom
fix/ACE/SPOC-618/trivy
Open

Address codacy trivy issues#151
mason-sharp wants to merge 1 commit into
mainfrom
fix/ACE/SPOC-618/trivy

Conversation

@mason-sharp

Copy link
Copy Markdown
Member

No description provided.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@mason-sharp, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 26 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: acde1350-34ff-4379-a9ff-11f6235b4595

📥 Commits

Reviewing files that changed from the base of the PR and between 2b07e8d and 401c5b8.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (2)
  • .codacy.yaml
  • go.mod
📝 Walkthrough

Walkthrough

The pull request excludes Go test files from Codacy analysis and updates indirect dependency versions in go.mod, including containerd, compression, and several golang.org/x modules.

Changes

Analysis configuration

Layer / File(s) Summary
Exclude Go test files
.codacy.yaml
Adds an exclude_paths pattern for files matching *_test.go.

Go dependency updates

Layer / File(s) Summary
Update indirect module versions
go.mod
Updates indirect versions of containerd, klauspost/compress, and multiple golang.org/x modules.

Poem

I’m a bunny with a tidy code nest,
Go test files now get a little rest.
Dependencies hop to versions new,
While Codacy skips the test-file queue.
Fresh pins sparkle, neat and bright—
I wiggle my nose and say, “Goodnight!”

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided, so the change intent cannot be assessed from the description. Add a short description summarizing the Codacy/Trivy exclusions and dependency version bumps.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is related to the security-scan and dependency-update changes in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ACE/SPOC-618/trivy

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 duplication

Metric Results
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.codacy.yaml:
- Around line 1-2: Add the YAML document marker `---` at the beginning of the
Codacy configuration, and update the `exclude_paths` pattern from `*_test.go` to
`**/*_test.go` so test files in nested directories are excluded.
- Around line 1-2: Update the exclude_paths pattern in the Codacy configuration
to use a recursive glob, changing the root-level *_test.go match to **/*_test.go
so test files in nested directories are also excluded.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e1009486-06c3-49a4-ba49-aa30232fb7e5

📥 Commits

Reviewing files that changed from the base of the PR and between 9e658ad and 2b07e8d.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (2)
  • .codacy.yaml
  • go.mod

Comment thread .codacy.yaml Outdated
Comment on lines +1 to +2
exclude_paths:
- '*_test.go' # ignore tests

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

cat -n .codacy.yaml

Repository: pgEdge/ace

Length of output: 208


🌐 Web query:

Codacy .codacy.yaml document marker exclude_paths glob nested directories docs

💡 Result:

To exclude files or directories in Codacy, you must define them under the exclude_paths key within a .codacy.yaml (or .codacy.yml) file located in the root of your repository [1][2][3]. Codacy uses Java glob syntax to match file paths [1][2]. Below is a summary of how to use this syntax for nested directories and specific file patterns: Syntax Reference: - test/: Ignores everything inside the directory 'test' (including nested sub-directories and all files) [1][2][3]. - test//: Ignores all files inside the sub-directories of 'test' [1][2][3]. - /.resource: Ignores all files with the '.resource' extension in all directories and sub-directories of your repository [1][2][3]. -.min.js: Ignores all '.min.js' files anywhere in your repository [1][2][3]. Example.codacy.yaml configuration: --- exclude_paths: - "docs/" - "/tests/" - "/*.secret" engines: rubocop: exclude_paths: - "config/ignore_me.yml" Important Notes: - Global vs. Per-Tool Exclusions: You can define exclude_paths globally at the top level of the file, or specifically under an engines section to apply exclusions only to a specific tool [1][3]. - Precedence: When a .codacy.yaml file is present in your repository, any exclusion settings defined in the Codacy UI are ignored; the configuration file takes precedence [1][4]. - Include Paths: If you need to analyze specific files within an excluded directory, you can use the include_paths key, which uses the same glob syntax to override exclusions [1]. - Troubleshooting: Ensure the file starts with --- [2][3]. If you are using the Codacy Analysis CLI, ensure you are executing the command in the correct directory (usually the root) so the configuration file is correctly detected [5].

Citations:


🌐 Web query:

Java glob PathMatcher pattern without slash matches nested directories file name semantics

💡 Result:

In Java's java.nio.file.FileSystem glob syntax, the asterisk (*) and double asterisk () have specific semantics regarding directory boundaries and nested directories [1][2][3]. The single asterisk (`*`) matches zero or more characters within a single name component (file or directory name) and does not cross directory boundaries [1][2][3]. It cannot be used to match across nested paths (e.g., `dir/*.java` only matches files directly inside `dir`, not in `dir/subdir/`) [2][3]. The double asterisk () matches zero or more characters crossing directory boundaries [3][6][11]. This allows it to match nested directories [9]. However, it is important to note that matches "zero or more characters," which can sometimes lead to counterintuitive behavior when users expect it to imply "at least one directory" [1][2]. For example, the pattern `/foo.php` might not match `foo.php` if the logic requires a directory boundary, or it might treat the as empty, causing a mismatch if the pattern implies a structural requirement that isn't met [4][5]. To effectively match files regardless of depth, or to optionally match a directory path, you can use brace expansion to provide alternatives [4][5]. For example, the pattern {,/}*.java will match *.java files in the current directory (where the is treated as empty) or any nested subdirectory [5]. Summary of Key Differences: - `*`: Matches within a single name component only (no directory crossing) [1][2]. -: Matches across directory boundaries (can match nested paths) [1][2][6]. - Braces {}: Used to group subpatterns (e.g., {,/}*.java) to handle cases where you need to match both current-directory files and nested-directory files [4][5]. When using PathMatcher with matches(), the entire string representation of the Path is evaluated against the glob pattern [5][2]. Always ensure your pattern aligns with the full Path string structure you are checking [7].

Citations:


Add the YAML document marker and broaden the test glob.

Codacy expects the config file to start with ---, and *_test.go only matches files in the current directory. Use **/*_test.go if nested test files should also be excluded.

Proposed fix
+---
 exclude_paths:
-  - '*_test.go' # ignore tests
+  - '**/*_test.go' # ignore tests
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
exclude_paths:
- '*_test.go' # ignore tests
---
exclude_paths:
- '**/*_test.go' # ignore tests
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.codacy.yaml around lines 1 - 2, Add the YAML document marker `---` at the
beginning of the Codacy configuration, and update the `exclude_paths` pattern
from `*_test.go` to `**/*_test.go` so test files in nested directories are
excluded.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n== .codacy.yaml ==\n'
if [ -f .codacy.yaml ]; then
  cat -n .codacy.yaml
else
  echo "missing"
fi

printf '\n== Search for codacy config docs or related patterns ==\n'
rg -n --hidden --glob '!**/.git/**' "exclude_paths|codacy" .

Repository: pgEdge/ace

Length of output: 317


🌐 Web query:

Codacy exclude_paths glob recursive **/*_test.go documentation

💡 Result:

To exclude Go test files recursively in Codacy, you can use the Java glob syntax within a.codacy.yml or.codacy.yaml configuration file placed in your repository root [1][2][3]. To ignore all _test.go files across your entire repository, add the following to your configuration file [1][4]: --- exclude_paths: - "/_test.go" The pattern /_test.go uses the double-star syntax, which matches zero or more directories, effectively allowing for recursive exclusion [1][2]. Key configuration details: - File placement: The file must be named.codacy.yml or.codacy.yaml and located in the root of your repository [2][3]. - Global vs. Per-tool: If you place exclude_paths at the top level of the YAML file, it applies globally to all analysis tools [1][4]. If you only need to exclude these files for a specific engine (such as for duplication or a specific linter), you can nest the exclusion under the engines key [1][5]: --- engines: duplication: exclude_paths: - "/_test.go" - Syntax: Codacy uses Java glob syntax for these paths [1][3]. Patterns like /.go will match all Go files in any directory, while the specific pattern /_test.go targets the test suffix specifically [1][2]. - Precedence: If a.codacy.yml or.codacy.yaml file exists in your repository, any ignored files defined through the Codacy UI settings will be overridden by the configuration file [2][6][7].

Citations:


🌐 Web query:

site:docs.codacy.com exclude_paths Java glob recursive *_test.go **/*_test.go Codacy

💡 Result:

To exclude Go test files (ending in _test.go) recursively from Codacy analysis, you should use the Java glob pattern /*_test.go within your .codacy.yaml (or .codacy.yml) configuration file [1][2][3]. In your repository's root directory, create or update the .codacy.yaml file with the following configuration [1][3]: --- exclude_paths: - "/*_test.go" This pattern ensures that all files ending in _test.go are matched regardless of their directory depth [1][2]. Key details regarding Codacy configuration: * Configuration File: The file must be named .codacy.yaml or .codacy.yml and placed in the root of your repository [3][4]. * Precedence: If a Codacy configuration file exists, the ignored files settings defined in the Codacy UI are ignored, and you must rely entirely on the patterns defined in your configuration file [1][5]. * Syntax: Codacy uses Java glob syntax for these patterns [1][2]. The `` operator matches directories recursively, while * matches characters within a filename or path [1][3]. * Global vs. Tool-Specific: You can define `exclude_paths` globally (as shown above) to apply to all analysis engines, or under a specific engine (e.g., `engines: go-lint: exclude_paths: ...`) if you only want to exclude them from a particular tool [1][3].

Citations:


🌐 Web query:

site:docs.codacy.com "/*_test.go" Codacy exclude_paths

💡 Result:

To exclude files such as those ending in _test.go from Codacy analysis, you must use a Codacy configuration file named.codacy.yaml or.codacy.yml placed in the root of your repository [1][2]. Inside this file, you can define an exclude_paths list using Java glob syntax [1][2]. To ignore all files ending in _test.go throughout your repository, you would use the following configuration: exclude_paths: - "/_test.go" If you need to target specific engines or categories, you can also scope the exclusions [1][2]: engines: golangci-lint: exclude_paths: - "/_test.go" When a.codacy.yaml or.codacy.yml file is present in your repository, any ignored files settings previously configured via the Codacy UI are overridden, and you must manage all exclusions through this configuration file [3][2].

Citations:


🌐 Web query:

site:docs.codacy.com/repositories-configure/codacy-configuration-file exclude_paths glob pattern "*_test.go" "/*_test.go" "**/*_test.go"

💡 Result:

The three glob patterns serve different purposes based on standard glob syntax conventions, often used in tools like Codacy [1]. * _test.go: This pattern matches files ending in _test.go only in the current (top-level) directory. It does not look into subdirectories. * /_test.go: The leading slash typically indicates the root of the project or directory being scanned. This pattern matches files ending in _test.go located specifically in the root directory. * /_test.go: The double asterisk is a recursive wildcard that matches directories and subdirectories. This pattern acts as a catch-all, matching any file ending in _test.go anywhere in the project, regardless of how deep the directory structure goes [1]. When configuring exclude_paths, using /*_test.go is generally the most effective way to ensure that all test files are ignored across the entire repository [1]. Using a pattern without the recursive wildcard usually limits the exclusion to a specific depth or directory [1].

Citations:


🌐 Web query:

Codacy Java glob recursive wildcard exclude_paths "**/*_test.go" site:docs.codacy.com/repositories-configure/codacy-configuration-file

💡 Result:

To exclude files in Codacy using the codacy.json configuration file, you must use Java glob syntax under the exclude_paths field [1]. To exclude all files ending in _test.go recursively, you should use the double asterisk wildcard, which matches any directory depth [1]. The correct pattern is: exclude_paths: - "/_test.go" In this syntax, the leading matches any sequence of directories, and the * matches any filename prefix followed by the specific suffix _test.go [1]. Key syntax rules for reference: -: Matches directories recursively. - : Matches any sequence of characters within a single path segment or as part of a filename. - /: Matches all files and directories inside sub-directories [1]. - /.ext: Matches all files with the extension.ext in all directories and sub-directories [1].

Citations:


🌐 Web query:

site:docs.codacy.com/repositories-configure/codacy-configuration-file "Java glob syntax" recursive "**/*_test.go" exclude_paths

💡 Result:

In Java glob syntax, the pattern is used to perform recursive matching across directory boundaries [1]. When using /_test.go, the glob will match any file ending with _test.go located in any directory or subdirectory [1]. Regarding exclude_paths, Java glob syntax itself does not provide a native exclude operator [1]. Instead, exclusion is typically handled by the application or configuration file interpreting the globs [1]. In configurations such as Codacy, you define exclusions by listing the specific patterns you wish to ignore under an exclude_paths key [1]. To ignore all files ending in _test.go recursively, you would add the following to your exclude configuration: exclude_paths: - "/_test.go" The syntax effectively acts as a wildcard for all directories and subdirectories, while the * serves as a wildcard for the file name prefix [1].

Citations:


🌐 Web query:

Codacy configuration file exclude_paths examples "**/*.go" "_test.go" site:docs.codacy.com

💡 Result:

To exclude files in Codacy using a configuration file, you must use the Java glob syntax within the exclude_paths section of your.codacy.yaml or.codacy.yml file [1][2]. To exclude Go test files (which typically end in _test.go) and all Go files in your repository using the examples you provided, you would use the following configuration [1]: --- exclude_paths: - "/.go" - "/_test.go" In this syntax, /.go matches all.go files in all directories, and /_test.go matches all files ending with _test.go in all directories [1][3]. Key points for configuring exclusions: 1. File Name and Placement: The configuration file must be named.codacy.yaml or.codacy.yml and placed in the root of your repository [2]. 2. Format: The file must start with a line containing a triple dash (---) [3][4]. 3. Precedence: If a Codacy configuration file exists in your repository, any exclusion settings defined in the Codacy UI will be ignored in favor of the settings in your configuration file [1][5]. 4. Glob Syntax: - /.extension matches all files with a specific extension in all directories [1]. - /tests/ matches all files and directories inside any folder named tests [1]. - /_test.go specifically targets files ending in _test.go recursively [1][4].

Citations:


🏁 Script executed:

python3 - <<'PY'
import urllib.request, re
url = "https://docs.codacy.com/repositories-configure/codacy-configuration-file/"
with urllib.request.urlopen(url, timeout=20) as r:
    html = r.read().decode("utf-8", "replace")

# Print the most relevant nearby text if present
patterns = [
    r'exclude_paths.{0,500}',
    r'Java glob syntax.{0,800}',
    r'\*\*/\*_test\.go.{0,200}',
    r'/\*_test\.go.{0,200}',
    r'\*_test\.go.{0,200}',
]
for pat in patterns:
    m = re.search(pat, html, re.S | re.I)
    if m:
        print("MATCH:", pat)
        print(re.sub(r'<[^>]+>', ' ', m.group(0)))
        print("\n---\n")
PY

Repository: pgEdge/ace

Length of output: 2742


🏁 Script executed:

python3 - <<'PY'
import urllib.request, ssl, re

url = "https://docs.codacy.com/repositories-configure/codacy-configuration-file/"
ctx = ssl._create_unverified_context()
with urllib.request.urlopen(url, context=ctx, timeout=30) as r:
    html = r.read().decode("utf-8", "replace")

# Show nearby matches for the exclusion examples and glob syntax
needles = [
    "exclude_paths",
    "Java glob syntax",
    "_test.go",
    "**",
    "/*_test.go",
]
for needle in needles:
    idx = html.find(needle)
    if idx != -1:
        start = max(0, idx - 300)
        end = min(len(html), idx + 700)
        chunk = html[start:end]
        chunk = re.sub(r"<[^>]+>", " ", chunk)
        chunk = re.sub(r"\s+", " ", chunk)
        print(f"\n=== {needle} ===")
        print(chunk)
PY

Repository: pgEdge/ace

Length of output: 1136


Make the exclusion recursive in .codacy.yaml. *_test.go only covers root-level matches; nested test files will still be analyzed. Use **/*_test.go instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.codacy.yaml around lines 1 - 2, Update the exclude_paths pattern in the
Codacy configuration to use a recursive glob, changing the root-level *_test.go
match to **/*_test.go so test files in nested directories are also excluded.

@mason-sharp
mason-sharp force-pushed the fix/ACE/SPOC-618/trivy branch from 2b07e8d to 2fc86a3 Compare July 17, 2026 22:37
@mason-sharp
mason-sharp force-pushed the fix/ACE/SPOC-618/trivy branch from 2fc86a3 to 401c5b8 Compare July 17, 2026 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant