Skip to content

Commit 5b6fddf

Browse files
authored
Create iOS specific PR template (#24)
1 parent b0bd0e8 commit 5b6fddf

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

.github/pull_request_template.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
Ticket: <!-- ticket link -->
2+
3+
## Description of changes
4+
5+
<!-- Replace this with a short description of the changes made, specifically focused on the choices you have made within those changes. -->
6+
7+
## How to validate the changes
8+
9+
<!-- Describe how to validate the changes that are made. -->
10+
11+
## ✅ Definition of Done
12+
13+
This checklist helps with risk management during software development.
14+
It is not a mandatory list to fully check off, but a basis for thinking about quality, safety, and best practices.
15+
Feel free to adapt it for your own project — as long as the risks are consciously managed.
16+
17+
### 📄 Documentation & Knowledge Sharing
18+
19+
* [ ] Code is documented where necessary (especially for public APIs, complex logic)
20+
* [ ] `README.md` or relevant project documentation is updated
21+
* [ ] Any architectural or project-wide decisions are shared (e.g. Notion, Confluence)
22+
23+
### 🧪 Testing & Quality
24+
25+
* [ ] Unit tests are written or updated (if applicable)
26+
* [ ] UI tests are added or updated (if feature affects UI)
27+
* [ ] CI pipeline passes (GitHub Actions, Bitrise, etc.)
28+
* [ ] Manual testing has been performed on real device(s) and/or simulator
29+
* [ ] App builds and runs successfully in both **Debug** and **Release** configurations
30+
31+
### 🧰 App-Specific Checks
32+
33+
* [ ] Feature behaves correctly on different screen sizes (e.g. iPhone SE, iPhone 15 Pro Max)
34+
* [ ] Dark Mode and Light Mode are both tested
35+
* [ ] Localizations are correctly displayed (if applicable)
36+
* [ ] Accessibility traits are verified (VoiceOver, Dynamic Type, etc.)
37+
* [ ] App icons, assets, and Launch Screen remain unaffected (or are updated if needed)
38+
* [ ] No hardcoded strings or layout dimensions — use `String(localized:)` and Auto Layout properly
39+
40+
### 📊 Monitoring & Performance
41+
42+
* [ ] Instruments (Time Profiler, Leaks, etc.) checked if relevant
43+
* [ ] Analytics or crash logging (e.g. Firebase, Sentry) integration is verified
44+
* [ ] Performance and memory impact considered (e.g. lazy loading, image caching)
45+
46+
### 🔐 Security & Privacy
47+
48+
* [ ] The changes comply with our [Secure software development policy](https://www.notion.so/q42/12-Secure-software-development-policy-3be5262f736c4a2a854fa2543d90c8be?pvs=4)
49+
* [ ] No sensitive data is logged
50+
* [ ] Keychain, biometric, or secure storage is used appropriately
51+
* [ ] Input validation, authentication, and authorization are properly handled
52+
* [ ] Network requests are made over HTTPS
53+
* [ ] App Transport Security settings are correctly configured
54+
* [ ] User permissions (camera, location, etc.) have clear intent and fallbacks
55+
56+
### 🧩 Traceability & Readiness
57+
58+
* [ ] A Jira ticket is linked, and the ticket number is included in the PR title
59+
* [ ] No unresolved `TODO`s remain in the code (unless followed up with a Jira ticket)
60+
* [ ] New build settings or entitlements are reviewed and documented
61+
62+
### 🤝 Review & Collaboration
63+
64+
* [ ] Code follows iOS project conventions (naming, file structure, etc.)
65+
* [ ] Code is peer-reviewed by at least one team member
66+
* [ ] Impacted stakeholders or QA have been notified
67+
* [ ] Merge strategy and release timing are agreed upon

0 commit comments

Comments
 (0)