-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
162 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
name: Local Build | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
platform: | ||
type: choice | ||
description: "Which mobile platforms to build" | ||
required: true | ||
default: "all" | ||
options: | ||
- android | ||
- ios | ||
- all | ||
releaseStage: | ||
type: choice | ||
description: "type of release" | ||
required: true | ||
default: "alpha" | ||
options: | ||
- alpha | ||
- beta | ||
- release | ||
|
||
jobs: | ||
build-local-job: | ||
name: Build application binaries | ||
runs-on: ubuntu-latest | ||
#runs-on: macos-latest | ||
|
||
steps: | ||
- name: Check for EXPO_TOKEN | ||
run: | | ||
if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then | ||
echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions" | ||
exit 1 | ||
fi | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.14.* | ||
# ENHANCE: Not sure why caching errors out. It can't ever seem to find the path, no matter what I tried. | ||
cache: yarn | ||
cache-dependency-path: "**/yarn.lock" | ||
|
||
- name: 1) [shared] Install dependencies | ||
run: yarn --frozen-lockfile | ||
working-directory: packages/shared/ | ||
|
||
- name: 1) [shared] Build | ||
run: yarn build | ||
working-directory: packages/shared/ | ||
|
||
# This gave an answer of 135,210 bytes. | ||
# That's pretty close? I'm expecting 138,443 | ||
- name: Print Yarn Lock Size | ||
run: | | ||
yarn_lock_size=$(stat -c %s yarn.lock) | ||
echo "Size of yarn.lock: $yarn_lock_size bytes" | ||
working-directory: packages/web/ | ||
|
||
- name: 2) [web] Install dependencies | ||
# run: yarn --frozen-lockfile # TODO: --frozen-lockfile is erroring out, saying it must be updated. But it doesn't do that on my local machine. Why does it do that on the Github runner? Both seem to be using the same yarn version, 1.22.19 | ||
run: yarn | ||
working-directory: packages/web/ | ||
|
||
- name: 2) [web] Build | ||
run: yarn build | ||
working-directory: packages/web/ | ||
|
||
- name: 3A) [mobile] Install dependencies | ||
# run: yarn --frozen-lockfile # TODO: --frozen-lockfile is erroring out, saying it must be updated. But it doesn't do that on my local machine. Why does it do that on the Github runner? Both seem to be using the same yarn version, 1.22.19 | ||
run: yarn | ||
working-directory: packages/mobile/ | ||
|
||
- name: 3A) [mobile] Setup EAS | ||
uses: expo/expo-github-action@v8 | ||
with: | ||
eas-version: latest | ||
token: ${{ secrets.EXPO_TOKEN }} | ||
|
||
- name: Print Folder Structure | ||
run: | | ||
echo "Folder structure:" | ||
tree -L 5 --dirsfirst | ||
# Inspired by: https://github.com/suiet/suiet/blob/63b50e4ba225b294af1018f3f98b9666738837c7/.github/workflows/build-app.yml#L9 | ||
- name: 3A) [mobile] EAS Cloud Build | ||
run: eas build --platform ${{ github.event.inputs.platform }} --profile ${{ github.event.inputs.releaseStage }} --non-interactive --no-wait | ||
working-directory: packages/mobile/ | ||
|
||
- name: Print Folder Structure | ||
run: | | ||
echo "Folder structure:" | ||
tree -L 4 --dirsfirst | ||
# TODO: Upload artifact if successful | ||
# - name: 3B) [electron] Install dependencies | ||
# run: yarn --frozen-lockfile | ||
# working-directory: ./packages/electron | ||
|
||
# - name: 3B) [electron] Build | ||
# run: yarn build | ||
# working-directory: ./packages/electron | ||
|
||
- name: 3B) [electron] Temporary Placeholder | ||
run: echo "nothing to do" | ||
working-directory: ./packages/electron |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
Change the status bar color | ||
AppBar needs some padding - amount TBD | ||
|
||
Android builds fail in beta and release - Looks like https://github.com/expo/expo/issues/23265. Does this workaround work? https://github.com/expo/expo/issues/23265#issuecomment-1662709655 | ||
Well, or if you just publish the packages to the NPM repository, that would solve it for the release case. For local builds, you can continue using yarn link, and we have a viable workaround in local development and alpha mode. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,24 @@ | ||
// REFERENCE: https://docs.expo.dev/build-reference/eas-json/ | ||
{ | ||
"cli": { | ||
"version": ">= 2.7.1", | ||
"promptToConfigurePushNotifications": false | ||
}, | ||
"build": { | ||
"development": { | ||
"developmentClient": true, | ||
"distribution": "internal" | ||
"cli": { | ||
"version": ">= 2.7.1", | ||
"promptToConfigurePushNotifications": false | ||
}, | ||
"preview": { | ||
"distribution": "internal" | ||
"build": { | ||
"alpha": { | ||
"developmentClient": true, | ||
"distribution": "internal", | ||
"channel": "alpha" | ||
}, | ||
"beta": { | ||
"distribution": "internal", | ||
"channel": "beta" | ||
}, | ||
"release": { | ||
"channel": "release" | ||
} | ||
}, | ||
"production": {} | ||
}, | ||
"submit": { | ||
"production": {} | ||
} | ||
"submit": { | ||
"release": {} | ||
} | ||
} |