Skip to content

Latest commit

 

History

History
98 lines (73 loc) · 3.64 KB

CONTRIBUTING.md

File metadata and controls

98 lines (73 loc) · 3.64 KB

How to contribute to iOS version of Movapp

As first step, read our general guidelines for all movapp.cz projects by reading this CONTRIBUTION.md file

Additional information specific to this repository

Table of Contents

Your First Code Contribution

Inherited from Movapp CONTRIBUTING.MD Your First Code Contribution

  • During development, add information about the updates to the CHANGELOG.md file in the [Unreleased] section. If something is missing in it before the release, please complete and commit it.

Styleguides

Code quality

We are using the swiftlint in build phase of the project and as quality gate for pull requests.

Install it locally

brew install swiftlint

Quality gate for pull requests

  • Swiftlint runs as GitHub Action which informs you in PR about issues in your changes.

Automatization

For automatization we are using Fastlane that save us a lot of time 🕕. You don't need it run locally.

Installation guide
  • Installation via bundle (Recommended because everyone will use the same version)
cd movapp-apple
bundle install
  • Installation via brew
brew install fastlane

Updating content (Dictionary, Alphabet, Stories, etc.)

The content of the application is defined in movapp-data repository. Every time somebody make a change it will trigger GitHub Action data update that will create a pull request with changes. This pull request is handed as pull request from anybody else.

Signing

You don't need to worry about it locally.

If you need it locally
bundle exec fastlane match development --readonly
Certificate expired
  • You need to have access to repository defined in Matchfile
  • Then run
bundle exec fastlane nuke
bundle exec fastlane match development

Releasing

Releasing to TestFlight

The release process is almost all automatized via fastlane. You just need to run GitHub Action Release manually. This action will:

  • increase the app version
  • mark [UNREALEASED] changes as released in CHANGELOG.md
  • commit those changes to main and tag it with correct version

Tagging a main will trigger GitHub Action Deploy. This action will:

  • build the application and upload it to the TestFlight
  • capcure screenshots via Fastlane Snapfile
  • upload screenshots and metadata to AppStore
  • upload screenshots to GitHub Pages

Releasing to AppStore

Once the team agrees on releasing the application to the AppStore we follow following steps:

  • Get a release notes from Slack
  • AppStore Connect
    • add release notes
    • select the latest version uploaded to TestFlight
    • send to Apple Review with automatically releasing
  • Increase the version of the application via GitHub Action Bump version