forked from eclipse-zenoh/ci
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpr-checklists.json
More file actions
126 lines (126 loc) · 7.01 KB
/
pr-checklists.json
File metadata and controls
126 lines (126 loc) · 7.01 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
{
"label_checklists": {
"bug": {
"title": "🐛 Bug Fix Requirements",
"description": "Since this PR is labeled as a **bug fix**, please ensure:",
"items": [
"**Root cause documented** - Explain what caused the bug in the PR description",
"**Reproduction test added** - Test that fails on main branch without the fix",
"**Test passes with fix** - The reproduction test passes with your changes",
"**Regression prevention** - Test will catch if this bug reoccurs in the future",
"**Fix is minimal** - Changes are focused only on fixing the bug",
"**Related bugs checked** - Verified no similar bugs exist in related code"
],
"footer": "**Why this matters:** Bugs without tests often reoccur."
},
"enhancement": {
"title": "✨ Enhancement Requirements",
"description": "Since this PR enhances existing functionality:",
"items": [
"**Enhancement scope documented** - Clear description of what is being improved",
"**Minimum necessary code** - Implementation is as simple as possible, doesn't overcomplicate the system",
"**Backwards compatible** - Existing code/APIs still work unchanged",
"**No new APIs added** - Only improving existing functionality",
"**Tests updated** - Existing tests pass, new test cases added if needed",
"**Performance improvement measured** - If applicable, before/after metrics provided",
"**Documentation updated** - Existing docs updated to reflect improvements",
"**User impact documented** - How users benefit from this enhancement"
],
"footer": "**Remember:** Enhancements should not introduce new APIs or breaking changes."
},
"new feature": {
"title": "🆕 New Feature Requirements",
"description": "Since this PR adds a new feature:",
"items": [
"**Feature scope documented** - Clear description of what the feature does and why it's needed",
"**Minimum necessary code** - Implementation is as simple as possible, doesn't overcomplicate the system",
"**New APIs well-designed** - Public APIs are intuitive, consistent with existing APIs",
"**Comprehensive tests** - All functionality is tested (happy path + edge cases + error cases)",
"**Examples provided** - Usage examples in code comments or separate example files",
"**Documentation added** - New docs explaining the feature, its use cases, and API",
"**Feature flag considered** - Can the feature be enabled/disabled for gradual rollout?",
"**Performance impact assessed** - Memory, CPU, storage implications measured",
"**Integration tested** - Feature works with existing features"
],
"footer": "**Consider:** Can this feature be split into smaller, incremental PRs?"
},
"breaking-change": {
"title": "💥 Breaking Change Requirements",
"description": "Since this PR contains breaking changes:",
"items": [
"**Breaking changes documented** - Clear list of what breaks",
"**Migration guide provided** - Step-by-step instructions for users",
"**Deprecation considered** - Could this be done with deprecation warnings first?",
"**Version bump planned** - Major or minor version bump needed",
"**Alternatives explored** - Why is breaking change necessary?",
"**Impact assessed** - How many users/use cases affected?"
],
"footer": "**Note:** Breaking changes should be discussed with maintainers before implementation."
},
"documentation": {
"title": "📚 Documentation Update Requirements",
"description": "Since this PR updates documentation:",
"items": [
"**Accuracy verified** - Technical details are correct",
"**Examples tested** - Code examples actually work",
"**Links valid** - All links work and point to correct versions",
"**Grammar/spelling** - Text is clear and well-written",
"**Formatting correct** - Markdown/formatting renders properly",
"**Up-to-date** - Reflects current codebase state"
],
"footer": "**Suggestion:** Have someone unfamiliar with the feature review for clarity."
},
"internal": {
"title": "🏠 Internal Change",
"description": "This PR is marked as **internal** (not user-facing):",
"items": [
"**No API changes** - Public APIs unchanged",
"**No behavior changes** - External behavior identical",
"**Refactoring/maintenance** - Code improvements only",
"**Tests still pass** - All existing tests pass without modification"
],
"footer": "**Lighter review:** Internal changes may have lighter review requirements."
},
"ci": {
"title": "⚙️ CI/CD Changes",
"description": "Since this PR modifies CI/CD pipelines:",
"items": [
"**Changes tested on fork** - Workflow tested on personal fork before PR",
"**No secrets exposed** - No credentials or tokens in logs/code",
"**Backwards compatible** - Doesn't break existing PRs/branches in flight",
"**Resource limits considered** - No excessive runner usage or costs",
"**Documentation updated** - README/CONTRIBUTING reflects workflow changes if needed",
"**Rollback plan** - How to revert if this breaks CI for others",
"**All jobs tested** - Verified all workflow jobs complete successfully"
],
"footer": "**Critical:** CI changes affect all contributors. Test thoroughly on fork first!"
},
"dependencies": {
"title": "📦 Dependency Updates",
"description": "Since this PR updates dependencies:",
"items": [
"**Changelog reviewed** - Breaking changes in dependency identified and addressed",
"**Security advisories checked** - No known vulnerabilities in new version",
"**License compatible** - New version license is compatible with project",
"**Tests pass** - All tests pass with new dependency versions",
"**Transitive deps reviewed** - New transitive dependencies checked",
"**Version pinned appropriately** - Semver range is intentional and correct",
"**Update scope limited** - Updating one major dependency at a time when possible"
],
"footer": "**Best practice:** Keep dependency updates focused and test thoroughly."
},
"api-sync": {
"title": "🔄 API Sync",
"description": "Since this PR synchronizes APIs:",
"items": [
"**API consistency verified** - APIs are consistent across implementations",
"**All implementations updated** - Changes applied to all relevant API implementations",
"**Version compatibility checked** - API versions are compatible",
"**Tests synchronized** - Tests updated across all implementations",
"**Documentation synchronized** - Docs consistent across implementations",
"**Breaking changes handled** - If breaking, all implementations handle it consistently"
],
"footer": "**Note:** API sync PRs require careful review to ensure consistency."
}
}
}