Skip to content

chore: add DeepSource configuration - #8

Open
2233admin wants to merge 2 commits into
mainfrom
chore/deepsource-config-20260623183044
Open

2233admin wants to merge 2 commits into
mainfrom
chore/deepsource-config-20260623183044

Conversation

@2233admin

Copy link
Copy Markdown
Owner

Summary

  • Add repository-local DeepSource configuration.
  • Enabled analyzers: cxx, shell.
  • Exclude generated, dependency, and build output paths to keep first-run findings actionable.

Validation

  • Parsed .deepsource.toml with Python tomllib.
  • Existing CI/CodeQL/Dependabot configuration is unchanged.

Follow-up

  • Enable 2233admin/CICADA in the DeepSource Dashboard after this PR merges.
  • Review first analysis and tune exclude_patterns if generated files dominate findings.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b9e11275-d748-4958-b214-82a1717db893
📥 Commits

Reviewing files that changed from the base of the PR and between 283a42d and ae045be.

📒 Files selected for processing: 2
  • .deepsource.toml
  • .github/workflows/ci.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the CI workflow to use a dedicated Linux runner for qualifying pushes, manual runs, and pull requests from the same repository; other runs continue on the standard runner.
    • Added code-analysis configuration for C++ and Bash, including test-file patterns, excluded paths, and a complexity threshold for C++ analysis.

The pull request adds DeepSource configuration for test-file patterns, excluded paths, and C++ and shell analyzers. It also changes the Flutter CI job to select a runner based on a feature variable and event/ref conditions.

Changes: DeepSource Analyzer Configuration

Layer / File(s) Summary
Configure paths and analyzers
.deepsource.toml
The configuration adds test-file patterns and path exclusions. It enables the C++ analyzer with a cyclomatic-complexity threshold of high and the shell analyzer with the bash dialect.

Flutter CI Runner Selection

Layer / File(s) Summary
Select the Flutter CI runner
.github/workflows/ci.yml
The flutter job uses ci-5070x-linux when the feature variable and event/ref conditions match. Otherwise, it uses ubuntu-latest.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to ae045

No actionable merge-blocking issue was established from the available repository evidence.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the primary change: adding DeepSource configuration. It does not mention the secondary CI runner change, but the title does not need to cover every change.
Description check Passed The description is directly related to the DeepSource configuration changes and provides summary, validation, and follow-up details. It incorrectly states that CI configuration is unchanged, although …
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Full details: Description check

Explanation

The description is directly related to the DeepSource configuration changes and provides summary, validation, and follow-up details. It incorrectly states that CI configuration is unchanged, although the CI workflow also changes, but this does not make the description off-topic.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

I’m a rabbit with a config to see,
Test paths and analyzers set neatly.
When CI’s conditions align,
A chosen runner joins the line.
I hop through the checks, pleased as can be.

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

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request adds a .deepsource.toml configuration file to enable DeepSource analyzers for C++ and Shell. Feedback suggests removing the unsupported [analyzers.meta] block for the shell analyzer to prevent schema validation errors, and narrowing down the test_patterns glob **/*test* to avoid misclassifying production assets as test code.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread .deepsource.toml
Comment on lines +29 to +34
[[analyzers]]
name = "shell"
enabled = true

[analyzers.meta]
dialect = "bash"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The DeepSource shell analyzer does not support any meta options (such as dialect). Specifying an invalid or unsupported meta option will cause a schema validation error in DeepSource, preventing the analysis from running.

ShellCheck (which powers the shell analyzer) automatically detects the shell dialect from the shebang line (e.g., #!/bin/bash in your scripts) or via inline directives. We should remove the [analyzers.meta] block for the shell analyzer.

Suggested change
[[analyzers]]
name = "shell"
enabled = true
[analyzers.meta]
dialect = "bash"
[[analyzers]]
name = "shell"
enabled = true

Comment thread .deepsource.toml
Comment on lines +3 to +8
test_patterns = [
"tests/**",
"test/**",
"**/*test*",
"**/*.test.*",
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The pattern **/*test* is extremely broad and will match any file or directory path containing the substring "test". In this repository, this matches production assets such as assets/bundled_skills/test-helper/skill.md.

This can cause DeepSource to misclassify production files/assets as test code, which applies different (often less strict) analysis rules. Consider removing **/*test* or replacing it with more specific patterns.

test_patterns = [
  "tests/**",
  "test/**",
  "**/*.test.*",
]

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