Guide for our development process, project setup and how to write code.
Install bundler by following instructions at the official page. When done, run:
bundle install
Install the aws cli tool by following instructions at the official page.
Configure it by entering:
aws configure
and entering following data
AWS Access Key ID: xxxxx
AWS Secret Access Key: xxxxx
Default region name: eu-central-1
Default output format: json]
📎
|
Access key ID and secret are secretly stored and must be asked for. |
A release branches of from main
branch with following pattern:
-
release/{major}.{minor}.{patch})/prepare-{major}.{minor}.{patch}
-
Update CHANGELOG
-
Run prepare release script (eg.
bundle exec fastlane ios prepare_release version:"1.0.0" api_token:"xxxxxxx"
) -
On github, publish the release manually by setting the new tag (eg.
v1.0.0
)
📎
|
Prepare release script will fail if there is no new version defined in the changelog |
The script executes the following commands:
-
Update new versions in the README.adoc and project files (including badges)
-
Do sanity checks (Proper version number in changelog etc.)
-
Build framework and upload it to S3
-
Update Package swift info (url and checksum)
-
Commit and push changes
-
Create GitHub release draft with all of the information from CHANGELOG
bundle exec fastlane ios prepare_release version:"1.0.0" api_token:"xxxxxxx"
Every change has to branch of from main
and use this branch naming convention:
-
feature/{type_of_change}-{short_description}
or with ticket idfeature/{ticket_id}/{type_of_change}-{short_description}
main
must be always in releasable state.
-
add for new features or functionality
-
change for changes in existing features or functionality
-
remove | for removed features or functionality
-
fix for any bug fixes
-
bump for dependency updates
-
security in case of vulnerabilities
Examples:
-
feature/SDK-456/add-awesome-hashing-algorithm
-
feature/add-awesome-hashing-algorithm
-
feature/remove-not-so-awesome-algorithm
-
feature/fix-algorithm-corner-case
-
feature/bump-lib-to-1.3.0