This file contains general guidelines but is subject to change and evolve over time.
Before contributing, it is encouraged to post an Issue to discuss a bug or new feature prior to implementing it. Once implemented on your fork, Pull Requests are welcome for features that benefit the core functionality of the application.
Code Owners & Maintainers reserve the right to revise or reject contributions if they are not deemed fit.
We kindly request that all pull requests be submitted in English. Pull requests submitted in other languages will unfortunately have to be declined.
Code formatting is not strictly enforced but is a courtesy we would like contributors to employ.
SwiftFormat is used to format *.swift
files.
cd <path to repo root>
swiftformat .
Publishing releases and tags should be left to Code Owners & Maintainers.
For Code Owners & Maintainers, the following release specification is used:
- Ensure package dependencies are set to version numbers and not branch names.
- Ensure dependant binaries are update to date.
- Perform the following file modifications:
- Update the version number string literal in
Source/Marker Data/Marker Data.xcodeproj/project.pbxproj
underMARKETING_VERSION
. - Update the build number string literal in
Source/Marker Data/Marker Data.xcodeproj/project.pbxproj
underMARKETING_VERSION
. - Update root
CHANGELOG.md
- with a condensed bullet-point list of changes/fixes/improvements according to its established format
- where possible, reference the Issue/PR number(s) or commit(s) where each change was made
- Update
https://markerdata.theacharya.co/release-notes/
with identical notes fromCHANGELOG.md
. - Update
https://markerdata.theacharya.co/release-notes-appcast.html
with identical notes fromCHANGELOG.md
.
- Update the version number string literal in
- Commit the changes made in Step 3 using the new version number (ie:
1.0.0
) as the commit message, and push to main. - Update the version number of
Distribution/version.txt
. - Create Test Build for internal and private (closed) beta test.
- Make GitHub Release using Release GitHub.
- Update latest GitHub Release Notes from
CHANGELOG.md
accordingly.