Building the CoinTex iOS files with GitHub Actions
iOS apps must be built on a Mac. This project uses a GitHub Actions workflow to build the app on a Mac in the cloud, so you do not need to own one. The repo is public, so these macOS runners are free.
The workflow file is .github/workflows/ios-build.yml. This document explains how to run it and where the built files appear.
Before the first run
GitHub only runs workflows that are pushed to the repository. Commit and push the workflow file once:
git add .github/workflows/ios-build.yml
git commit -m "Add iOS build workflow"
git push
Run the workflow
- Open the repository on GitHub in a web browser.
- Click the Actions tab.
- In the list on the left, click Build iOS app.
- Click the Run workflow button on the right. Leave the branch on
masterand click the green Run workflow button.
The run starts in a few seconds and shows up in the list.
Another way to start it is to push a tag that begins with v, for example a tag named v1.3. That starts the same build automatically.
How long it takes
The first run takes about 45 to 90 minutes, because it builds the Python and Kivy toolchain from source. Later runs are faster, because that toolchain is cached.
Where the files are created
When the run finishes with a green check mark:
- Click the finished run in the Actions tab.
- Scroll to the Artifacts section at the bottom of the run summary page.
- You will see two items:
- CoinTex-unsigned-ipa: download it. It arrives as a zip. Unzip it to get
CoinTex-unsigned.ipa. This is the file you install on an iPhone. - CoinTex-xcode-project: the Xcode project. You only need this if you later decide to publish the game on the App Store from a Mac.
- CoinTex-unsigned-ipa: download it. It arrives as a zip. Unzip it to get
GitHub keeps these artifacts for 30 days. After that, run the workflow again to get fresh files.
Install it on an iPhone
Use CoinTex-unsigned.ipa with the steps in IOS_INSTALL.md.
If a run fails
- Open the failed run and read the step shown in red.
- The most common fix is the macOS version. Edit
.github/workflows/ios-build.ymland changeruns-on: macos-14toruns-on: macos-13, then run the workflow again. - To rebuild the toolchain from scratch, change the cache key suffix in the workflow from
v1tov2, or delete the cache from the Actions cache list.