General rules: ⬇️
- All maintainers must have knowledge about source control tools such as git and repo.
- All maintainers must release device sources publicly at Euclid-Devices on Github
- All sources must be fully synced (pushed to GitHub) prior to every official build release
- Device trees can be co-maintained
- All maintainers must test every build before release this including with testers if possible in order to avoid issues
- If some quality requirements can’t be passed, the maintainer must provide the reason for the exception while applying for maintainer status
- Maintainers must respect each other, any act of hate or abuse will be severely punished
- A forum thread (usually XDA) must be made using official template and contain all the device documentation such as installation steps, download links, sources
Communications : ⬇️
- The team communicates using Telegram group chat that you'll get an invite to when applying
- PMs should be avoided as much as possible so all users can participate in a discussion
- Don’t spam about any ETAs, upcoming source updates or features to add
- We encourage features to be added via pull request, so we can review code and decide to implement
- Feature requests should be made using Pull Requests with a properly prepared and tested commits
Git and repo: ⬇️
- Git trees should be maintained in a tidy and organized manner
- Official release branches must be named after current Android version, e.g. Android 14 -branch_name-> 14.0, this naming is mandatory
- In the case of incompatibility with current, already hosted device sources, maintainers will need to create a dedicated branch for their device on said repos (eg. 14.0-whyred)
- Maintainers are free to create additional backup/testing branches
- Original commit authorship must be maintained
- Commits must preserve proper and informative naming
- Commits must describe the change, especially reverts. Commits without proper messages are meaningless, showing that you have no actual idea what you’re doing.
- Reverts without a message doesn’t let others know what problem it was causing and it is generally bad for community
- Rebasing and force-pushing is allowed as long as it doesn’t affect other users badly
- Don’t force-push main branch of a common dt repository until consulted with all maintainers using it
- When force-pushing a branch it is advised to create a copy of it just in case, named 'mybranch-old' or 'mybranch-today's date'
✔️ If all above is "YES"
✏️ Create an issue in our Official Devices repository: HERE