-
Notifications
You must be signed in to change notification settings - Fork 1
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
Conversation
@@ -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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep! For any builds really. The BUILD_ID
(generated here: https://github.com/AtB-AS/mittatb-app/pull/586/files#diff-a7e952d146193bce3dcc815e7a3b0620665b728118d700b1737e481804d16918R16), and sent in (as a property here: https://github.com/AtB-AS/mittatb-app/pull/586/files#diff-dff4b99d4e651ab9d7597876ec8dbe92aa934e42c0fb55f4aadd6c106fc96688R89) will in turn be picked up by the gradle script.
There was a problem hiding this 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.
Awaiting merge till new month or Open Source D-Day |
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.
.github/workflows/
.node_modules
and the generated ipa/apk outputs for re-usefastlane/Fastfile
has the build config for certificates, building the package, and distributing to AppCenter./scripts
Future work
alpha-release
) from AppCenter as well. This PR only targets QA-buildsappcenter-*.sh
scripts at root