forked from openshift/installer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
137 lines (134 loc) · 4.66 KB
/
Copy path.coderabbit.yaml
File metadata and controls
137 lines (134 loc) · 4.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
inheritance: true
language: en-US
tone_instructions: >-
Be concise and direct. Focus on correctness, security, and backward
compatibility. This is infrastructure software that provisions cloud
resources - mistakes can be costly and hard to reverse.
reviews:
profile: chill
high_level_summary: true
high_level_summary_placeholder: "@coderabbitai summary"
review_status: true
commit_status: true
collapse_walkthrough: true
changed_files_summary: true
sequence_diagrams: false
estimate_code_review_effort: true
request_changes_workflow: false
poem: false
suggested_reviewers: false
auto_review:
enabled: true
drafts: false
auto_incremental_review: true
ignore_title_keywords:
- WIP
- DO NOT MERGE
- DNM
base_branches:
- main
- "release-4.*"
- "release-5.*"
path_filters:
# Exclude vendored dependencies - reviewed separately
- "!vendor/**"
- "!**/vendor/**"
# Exclude generated files
- "!**/zz_generated*"
# Exclude generated CRD manifests
- "!data/data/install.openshift.io_installconfigs.yaml"
path_instructions:
- path: "pkg/types/**/validation/**"
instructions: >-
This is install-config validation code. Ensure validation errors are
clear and actionable for the end user. Check that new validations do
not break existing valid configs (backward compatibility). Verify
error field paths match the YAML/JSON structure users provide.
- path: "pkg/types/**/defaults/**"
instructions: >-
This is defaulting logic for install-config fields. Ensure defaults
are only applied when the field is zero-valued. Verify platform-
specific defaults don't conflict with cross-platform defaults.
- path: "pkg/asset/**"
instructions: >-
This code follows the asset dependency-graph architecture. Verify
that Dependencies() returns all required assets and that Generate()
properly consumes them. Check that file names and paths are correct
for the target output.
- path: "pkg/destroy/**"
instructions: >-
This is cluster teardown code. Be extra careful - bugs here can
leave orphaned cloud resources that cost money. Verify proper error
handling and that all resources created during install are cleaned up.
- path: "pkg/infrastructure/**"
instructions: >-
Infrastructure provisioning code. Verify cloud API calls handle
errors and retries properly. Check for resource leaks on failure
paths. Ensure tags/labels are applied consistently.
- path: "cluster-api/providers/**"
instructions: >-
Cluster API infrastructure providers. Ensure changes are compatible
with the CAPI contract and that controller reconciliation is
idempotent.
- path: "data/data/**"
instructions: >-
Static data files embedded in the installer binary. For bootimage
metadata (rhcos.json), verify URLs and SHA256 digests. For manifests,
ensure YAML is valid and API versions are correct.
- path: "hack/**"
instructions: >-
Build and CI scripts. Ensure scripts are POSIX-compatible where
possible, use set -e, and handle errors. Check for hardcoded paths
that may not work in all environments.
- path: "upi/**"
instructions: >-
User-Provisioned Infrastructure templates (ARM, CloudFormation, etc.).
These are used directly by customers. Ensure backward compatibility
and that parameter defaults are sensible.
- path: "**/*_test.go"
instructions: >-
Test files. Verify edge cases are covered, especially for validation
and defaulting logic. Check that test names follow Go conventions
and are descriptive. Ensure mocks are used appropriately.
- path: "images/**"
instructions: >-
Container image definitions. Check for pinned base image versions
and unnecessary layers. Verify multi-stage builds minimize final
image size.
- path: "docs/**"
instructions: >-
User-facing documentation. Ensure accuracy, check for broken links,
and verify command examples actually work. Flag outdated platform
references.
tools:
golangci-lint:
enabled: true
shellcheck:
enabled: true
yamllint:
enabled: true
hadolint:
enabled: true
gitleaks:
enabled: true
semgrep:
enabled: true
checkov:
enabled: true
chat:
auto_reply: true
knowledge_base:
code_guidelines:
filePatterns:
- "docs/*-guidelines.md"
- "**/AGENTS.md"
- "**/CLAUDE.md"
- "**/CONTRIBUTING.md"
- "**/REDHAT.md"
learnings:
scope: auto
issues:
scope: auto
pull_requests:
scope: auto