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

Build for iOS and Android in CI, and deploy iOS builds to TestFlight #25

Merged
merged 10 commits into from
Jan 29, 2025

Conversation

nkalupahana
Copy link
Member

@nkalupahana nkalupahana commented Jan 23, 2025

iOS

Building for iOS requires a paid Apple Developer account, and a bunch of identifiers and certificates. Setting all of this is up is extremely frustrating if you don't know what you're doing and y'all have much higher priority items to work on right now, so I went ahead and set it up. Here's how it works:

  1. Use expo's prebuild to generate the ios project.
  2. Use fastlane match to pull the correct certificates and provisioning profiles for signing the iOS app.
  3. Build and sign the app, and deploy it to TestFlight. (See Fastfile)

This will allow you to instantly distribute the scouting app to up to 100 people (over email -- will give y'all access later). If the app passes Apple Beta review (which it might, it's not too hard), you can distribute it with a link, which is extremely convenient.

Android

Since I already had fastlane set up, I set up a lane to build for Android and dump the APK into artifacts. Android distribution is way easier, so y'all can figure that out. I've used DeployGate in the past, and Firebase also has an App Distribution product that looks promising. If you want to use Google Play internal distribution, I have a paid account, so let me know and I can set it up.


Builds (and deploys for iOS) are automatically done on push. They're a little slow right now (~10 minutes), but it should hopefully be okay. Let me know if the speed is causing problems.

@nkalupahana nkalupahana merged commit 29342a8 into master Jan 29, 2025
2 checks passed
sofiyapatra added a commit that referenced this pull request Jan 30, 2025
* Build for iOS and Android in CI, and deploy iOS builds to TestFlight (#25)

* Fixed text input issues in apple app (#26)

* Fastlane working locally for iOS

* Auto select encryption settings

* Update variables and add build caching

* Fix build number to be from Testflight

* Point to project path

* Android build

* Add gradle cache

* Just build for now

* Update default type to appstore -- only using this for appstore-quality builds

* Use gradle-specific caching

* fixed text input issues on apple

---------

Co-authored-by: nkalupahana <[email protected]>
Co-authored-by: rngking <[email protected]>

* added MathBlock and fixed MathButton (#29)

---------

Co-authored-by: Nisala <[email protected]>
Co-authored-by: PramitaUp <[email protected]>
Co-authored-by: Lucia <[email protected]>
@saturnaliam saturnaliam deleted the build-in-ci branch February 1, 2025 16:20
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