Skip to content
This repository has been archived by the owner on Nov 16, 2020. It is now read-only.

Concept of a build toolchain for Android and iOS #128

Open
assert-not-singularity opened this issue Apr 21, 2020 · 1 comment
Open

Concept of a build toolchain for Android and iOS #128

assert-not-singularity opened this issue Apr 21, 2020 · 1 comment
Labels
devops Developer operations: CI, deployment etc. discussion Topics of interest to the project

Comments

@assert-not-singularity
Copy link
Member

assert-not-singularity commented Apr 21, 2020

@joernb and I discussed a concept for a build pipeline for the mobile apps which enables us to immediately build development builds on each commit as well as automatically build and publish stable releases to the common app stores.

This would allow one to easily perform developer tests for new features as well as it makes releasing a new version rapidly possible.

  1. Using the Git Flow workflow, it is transparent to everyone which branch marks the current development line and which a stable release. A new branch, the develop branch is the main development line. Every commit on this branch triggers the development build process. New feature implementations are always branched from the latest develop. To create a new, stable release, a release branch is created and merged into master. A commit on master triggers the release build and publish process.

  2. When the development build process is triggered, the connection strings for the application are set to the server address of the development backend which provides test data and allows testing of connectivity functions by showing debug outputs. Commits on master (these are always tagged with a semantic version number), cause the pipeline to set the connection strings to the production backend.

  3. Only when releases are built, the application is properly signed for publishing in the Android and Apple app stores. The keys required for publishing are hosted in a private key repository. Development builds are signed with debug keys.

To achieve this goal, we discussed utilizing fastlane altogether with Github Actions.

We want you to participate in creating the new pipeline and ask for your ideas and comments on how to improve this concept.

@assert-not-singularity assert-not-singularity added enhancement New feature or request question Further information is requested labels Apr 21, 2020
@haveyaseen haveyaseen added discussion Topics of interest to the project devops Developer operations: CI, deployment etc. and removed question Further information is requested enhancement New feature or request labels Apr 22, 2020
@joernb
Copy link
Member

joernb commented Apr 22, 2020

The keys required for publishing are hosted in a private key repository.

Small addition: The concept of a private codesigning repository comes from the fastlane project and is described here.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
devops Developer operations: CI, deployment etc. discussion Topics of interest to the project
Projects
None yet
Development

No branches or pull requests

3 participants