-
Notifications
You must be signed in to change notification settings - Fork 55
Add coderabbit.yaml configuration for bootupd #1145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cverna
wants to merge
1
commit into
coreos:main
Choose a base branch
from
cverna:add_coderabbit
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+166
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,166 @@ | ||
| language: "en-US" | ||
|
|
||
| reviews: | ||
| profile: "chill" | ||
| request_changes_workflow: true | ||
| high_level_summary: false | ||
| high_level_summary_in_walkthrough: false | ||
| poem: false | ||
| in_progress_fortune: false | ||
| review_status: true | ||
| review_details: true | ||
| collapse_walkthrough: true | ||
| changed_files_summary: true | ||
| sequence_diagrams: true | ||
| estimate_code_review_effort: true | ||
| assess_linked_issues: true | ||
| related_issues: true | ||
| related_prs: true | ||
| suggested_labels: true | ||
| auto_apply_labels: false | ||
| suggested_reviewers: true | ||
| auto_assign_reviewers: false | ||
| enable_prompt_for_ai_agents: true | ||
| abort_on_close: true | ||
|
|
||
| path_filters: | ||
| - "!vendor/**" | ||
|
|
||
| path_instructions: | ||
| - path: "src/grub2/**" | ||
| instructions: > | ||
| These files are installed as static GRUB configuration on target | ||
| systems. Review changes for valid syntax, bootability, and compatibility | ||
| across the supported firmware and architecture combinations. | ||
| - path: "src/backend/**" | ||
| instructions: > | ||
| Backend and state-file changes affect persistent bootloader update state. | ||
| Preserve compatibility with existing state and ensure updates remain | ||
| atomic and recoverable after interruption. | ||
| - path: "tests/**" | ||
| instructions: > | ||
| These are integration and black-box tests. New or changed behavior | ||
| should include appropriate coverage, including failure and recovery | ||
| paths where relevant. | ||
| - path: "systemd/**" | ||
| instructions: > | ||
| Unit changes affect boot ordering and privilege boundaries. Check that | ||
| dependencies, installation paths, and service behavior remain safe. | ||
|
|
||
| auto_review: | ||
| enabled: true | ||
| drafts: false | ||
| auto_incremental_review: true | ||
| ignore_title_keywords: | ||
| - "WIP" | ||
| - "DO NOT MERGE" | ||
|
|
||
| finishing_touches: | ||
| docstrings: | ||
| enabled: false | ||
| unit_tests: | ||
| enabled: true | ||
| autofix: | ||
| enabled: true | ||
|
|
||
| pre_merge_checks: | ||
| title: | ||
| mode: "warning" | ||
| requirements: > | ||
| PR title must follow the format 'subsystem: lowercase description'. | ||
| Examples: 'src/efi: improve ESP handling', 'tests: add recovery coverage', | ||
| 'ci: update toolchain', '*: refactor bootloader interface'. Use | ||
| imperative mood, lowercase after colon, and no trailing period. | ||
| description: | ||
| mode: "warning" | ||
| custom_checks: | ||
| - name: "Commit message convention" | ||
| mode: "warning" | ||
| instructions: > | ||
| Check that every non-merge commit message in this PR follows the | ||
| format 'subsystem: lowercase description'. The subsystem is typically | ||
| a file path prefix (e.g., 'src/efi', 'src/grub2', 'tests', 'ci'), a | ||
| component name (e.g., 'esp', 'build'), or '*' for cross-cutting | ||
| changes. After the colon and space, the description must start with a | ||
| lowercase letter and use imperative mood (e.g., 'add', 'fix', | ||
| 'update', not 'Added', 'Fixes', 'Updates'). There must be no trailing | ||
| period. Merge commits (starting with 'Merge') should be ignored. Flag | ||
| any commit that does not conform. | ||
|
|
||
| tools: | ||
| golangci-lint: | ||
| enabled: false | ||
| shellcheck: | ||
| enabled: true | ||
| yamllint: | ||
| enabled: true | ||
| markdownlint: | ||
| enabled: true | ||
| hadolint: | ||
| enabled: true | ||
| actionlint: | ||
| enabled: true | ||
| zizmor: | ||
| enabled: true | ||
| gitleaks: | ||
| enabled: true | ||
| trufflehog: | ||
| enabled: true | ||
| clippy: | ||
| enabled: true | ||
| # Disable tools irrelevant to this Rust project. | ||
| checkov: | ||
| enabled: false | ||
| clang: | ||
| enabled: false | ||
| cppcheck: | ||
| enabled: false | ||
| ruff: | ||
| enabled: false | ||
| biome: | ||
| enabled: false | ||
| eslint: | ||
| enabled: false | ||
| phpstan: | ||
| enabled: false | ||
| phpmd: | ||
| enabled: false | ||
| phpcs: | ||
| enabled: false | ||
| swiftlint: | ||
| enabled: false | ||
| detekt: | ||
| enabled: false | ||
| rubocop: | ||
| enabled: false | ||
| flake8: | ||
| enabled: false | ||
| pylint: | ||
| enabled: false | ||
| oxc: | ||
| enabled: false | ||
| stylelint: | ||
| enabled: false | ||
| htmlhint: | ||
| enabled: false | ||
| brakeman: | ||
| enabled: false | ||
| fortitudeLint: | ||
| enabled: false | ||
| shopifyThemeCheck: | ||
| enabled: false | ||
| luacheck: | ||
| enabled: false | ||
| prismaLint: | ||
| enabled: false | ||
| sqlfluff: | ||
| enabled: false | ||
| squawk: | ||
| enabled: false | ||
| dotenvLint: | ||
| enabled: false | ||
| buf: | ||
| enabled: false | ||
|
|
||
| chat: | ||
| auto_reply: true | ||
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: coreos/bootupd
Length of output: 1035
🏁 Script executed:
Repository: coreos/bootupd
Length of output: 3533
🌐 Web query:
CodeRabbit path_instructions glob matching file paths configuration documentation💡 Result:
CodeRabbit utilizes glob patterns for path-based configurations, including path_instructions, which allow you to provide targeted review guidance or generation instructions for specific files and directories [1][2]. Key details regarding glob matching and path_instructions configuration include: Supported Glob Patterns CodeRabbit supports standard glob patterns for defining paths in your configuration (e.g., /*.js, src/, docs/.md) [1][3]. These patterns are processed using the minimatch library [1]. Configuration File Structure You can define path_instructions within a.coderabbit.yaml file in your repository root [4]. The configuration schema uses an array of objects, where each object contains a path (the glob pattern) and its corresponding instructions [1][3]. Example Configuration: reviews: path_instructions: - path: "src/controllers/" instructions: | - Focus on authentication and input validation. - path: "tests/" instructions: | - Ensure all test cases include edge scenarios. Important Configuration Constraints: When defining instructions, avoid using characters that may interfere with the review process, specifically backticks (```), literal variable syntax (${variable}), or literal backslashes (like \n or \t) [4]. Hierarchy and Overrides: - Inheritance: When using configuration inheritance, path_instructions are merged by the stable key path [5]. If a child configuration defines a path that already exists in a parent configuration, the child's instructions take precedence [5]. Unique paths from both configurations are preserved [5]. - Global Overrides: Global overrides defined at the organization level also use this merge logic, taking priority over local repository configurations [6]. Configuration Interface: Beyond the YAML file, you can also manage path instructions via the Web UI by navigating to Organization Settings → Reviews → Behavior [1]. Additional context on path-based settings: Similar path_instructions structures are also supported for specific features like code generation, docstring generation, and unit test generation, allowing you to tailor AI behavior for these tasks independently [3][2].
Citations:
Cover the active GRUB installer.
src/grubconfigs.rsreads and installs static GRUB configuration, butsrc/grub2/**does not match this file. Add a path entry forsrc/grubconfigs.rs, or broaden the existing glob.🤖 Prompt for AI Agents