Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Github Actions build with Fastlane #586

Merged
merged 63 commits into from
Nov 3, 2020

Conversation

cbrevik
Copy link
Contributor

@cbrevik cbrevik commented Oct 20, 2020

Changes

The major change is that we've moved most of our CI build configuration from AppCenter over to a combination of Github Actions and Fastlane.

  • Added workflows for iOS/Android builds under .github/workflows/.
  • Aggressively caching both node_modules and the generated ipa/apk outputs for re-use
  • fastlane/Fastfile has the build config for certificates, building the package, and distributing to AppCenter
  • The rest of the build config are scripts which lies under ./scripts

Future work

  • Move our store-rollout (alpha-release) from AppCenter as well. This PR only targets QA-builds
  • Remove the appcenter-*.sh scripts at root

@@ -138,7 +138,7 @@ android {
applicationId "no.mittatb"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionCode project.hasProperty("versionCode") ? project.getProperty("versionCode") as Integer : 1
Copy link
Collaborator

@mikaelbr mikaelbr Oct 21, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this for production builds and using proper versions?

Copy link
Contributor Author

@cbrevik cbrevik Oct 21, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

@mikaelbr mikaelbr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously very hard to verify code here, but the main discussion here is the overall philosophical aspects of the changes. We've chatted about this and pretty much in agreement, so no surprises. But think it's worth noting that this is quite a complex and manual process for building. A lot of moving parts in all from ruby, to bash, js, gradle, yaml, etc. It requires familiarity with the build process and is harder to maintain. But also on the flip side, the unstableness, slowness, and restrictions on AppCenter have a cost also. And as you say, doing everything with Fastlane wouldn't be much better.

But I think at some point it could have been interesting to see if there are more automated solutions for this out there that solve what we want (testing, distribution, building). But I know you've done some research on this.

@cbrevik
Copy link
Contributor Author

cbrevik commented Oct 27, 2020

Awaiting merge till new month or Open Source D-Day

@cbrevik cbrevik merged commit a042c3b into master Nov 3, 2020
@cbrevik cbrevik deleted the cbrevik/fastlane-github-actions branch November 3, 2020 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants