From e03a90aab3f84e43a0e69272df08f92d894c3617 Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 25 Jul 2025 15:44:11 +0200 Subject: [PATCH 1/8] chore: add eas build workflow --- .eas/workflows/build-eas.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .eas/workflows/build-eas.yml diff --git a/.eas/workflows/build-eas.yml b/.eas/workflows/build-eas.yml new file mode 100644 index 0000000..f69177b --- /dev/null +++ b/.eas/workflows/build-eas.yml @@ -0,0 +1,34 @@ +name: build + +on: + push: + branches: ['*'] + +jobs: + build-expo-app: + steps: + - uses: eas/checkout # This also changes cwd + - uses: eas/install_node_modules + + - name: build the config plugin so it can be used in the example app + run: | + cd .. + npm run build:plugin + + - name: set the Expo version for the example project and install recommend dep versions + run: npx expo install expo@^53 --fix + + - name: Run expo prebuild + run: EXPO_DEBUG=1 npx expo prebuild + + - name: Bundle JS code to verify it bundles + run: npx expo export + + build_app_android: + type: build + params: + platform: android + build_app_ios: + type: build + params: + platform: ios From b2e78d5a75ec26f7e8c1643f5efbd326e61d9cab Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 10:38:49 +0200 Subject: [PATCH 2/8] chore: add the necessary files --- example/app.json | 8 +++++++- example/eas.json | 21 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 example/eas.json diff --git a/example/app.json b/example/app.json index 761b0b1..29a4a38 100644 --- a/example/app.json +++ b/example/app.json @@ -17,6 +17,12 @@ }, "android": { "package": "com.vonovak.themeexpoexample" - } + }, + "extra": { + "eas": { + "projectId": "348a68a7-b896-4172-ae18-64e4afc32413" + } + }, + "owner": "expo-ci" } } diff --git a/example/eas.json b/example/eas.json new file mode 100644 index 0000000..70e502c --- /dev/null +++ b/example/eas.json @@ -0,0 +1,21 @@ +{ + "cli": { + "version": ">= 16.17.4", + "appVersionSource": "remote" + }, + "build": { + "development": { + "developmentClient": true, + "distribution": "internal" + }, + "preview": { + "distribution": "internal" + }, + "production": { + "autoIncrement": true + } + }, + "submit": { + "production": {} + } +} From 4a53008223af1d6d5d07ccdf81d65a5016c68bfe Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 10:39:18 +0200 Subject: [PATCH 3/8] chore: type - build job with custom steps --- .eas/workflows/build-eas.yml | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/.eas/workflows/build-eas.yml b/.eas/workflows/build-eas.yml index f69177b..0449844 100644 --- a/.eas/workflows/build-eas.yml +++ b/.eas/workflows/build-eas.yml @@ -5,7 +5,7 @@ on: branches: ['*'] jobs: - build-expo-app: + build_app_android: steps: - uses: eas/checkout # This also changes cwd - uses: eas/install_node_modules @@ -23,12 +23,28 @@ jobs: - name: Bundle JS code to verify it bundles run: npx expo export + type: build + params: + platform: android - build_app_android: - type: build - params: - platform: android - build_app_ios: - type: build - params: - platform: ios + build_app_ios: + steps: + - uses: eas/checkout # This also changes cwd + - uses: eas/install_node_modules + + - name: build the config plugin so it can be used in the example app + run: | + cd .. + npm run build:plugin + + - name: set the Expo version for the example project and install recommend dep versions + run: npx expo install expo@^53 --fix + + - name: Run expo prebuild + run: EXPO_DEBUG=1 npx expo prebuild + + - name: Bundle JS code to verify it bundles + run: npx expo export + type: build + params: + platform: ios From 1a5c32c06c23081d72a0774262aaa8f98f35af4b Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 11:30:34 +0200 Subject: [PATCH 4/8] chore: perform native build steps --- .eas/workflows/build-eas.yml | 21 +++++++++++++++++---- example/eas.json | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.eas/workflows/build-eas.yml b/.eas/workflows/build-eas.yml index 0449844..10db697 100644 --- a/.eas/workflows/build-eas.yml +++ b/.eas/workflows/build-eas.yml @@ -16,16 +16,22 @@ jobs: npm run build:plugin - name: set the Expo version for the example project and install recommend dep versions - run: npx expo install expo@^53 --fix + run: npx expo install expo@^54 --fix - name: Run expo prebuild - run: EXPO_DEBUG=1 npx expo prebuild + run: EXPO_DEBUG=1 npx expo prebuild -p android - name: Bundle JS code to verify it bundles run: npx expo export + + # perform native build steps + - uses: eas/resolve_build_config + - uses: eas/run_gradle + - uses: eas/find_and_upload_build_artifacts type: build params: platform: android + profile: preview build_app_ios: steps: @@ -38,13 +44,20 @@ jobs: npm run build:plugin - name: set the Expo version for the example project and install recommend dep versions - run: npx expo install expo@^53 --fix + run: npx expo install expo@^54 --fix - name: Run expo prebuild - run: EXPO_DEBUG=1 npx expo prebuild + run: EXPO_DEBUG=1 npx expo prebuild -p ios - name: Bundle JS code to verify it bundles run: npx expo export + + # perform native build steps + - uses: eas/resolve_build_config + - uses: eas/generate_gymfile_from_template + - uses: eas/run_fastlane + - uses: eas/find_and_upload_build_artifacts type: build params: platform: ios + profile: preview diff --git a/example/eas.json b/example/eas.json index 70e502c..6b4d4ee 100644 --- a/example/eas.json +++ b/example/eas.json @@ -9,6 +9,7 @@ "distribution": "internal" }, "preview": { + "withoutCredentials": true, "distribution": "internal" }, "production": { From 90405cbe7dc787881185fc7aea25379daf3bd550 Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 12:05:37 +0200 Subject: [PATCH 5/8] chore: print eas json --- .eas/workflows/build-eas.yml | 10 ++++++++-- example/eas.json | 6 +++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.eas/workflows/build-eas.yml b/.eas/workflows/build-eas.yml index 10db697..1b24cd1 100644 --- a/.eas/workflows/build-eas.yml +++ b/.eas/workflows/build-eas.yml @@ -16,11 +16,14 @@ jobs: npm run build:plugin - name: set the Expo version for the example project and install recommend dep versions - run: npx expo install expo@^54 --fix + run: npx expo install expo@^53 --fix # one dep is 54-incompatible - name: Run expo prebuild run: EXPO_DEBUG=1 npx expo prebuild -p android + - name: print eas.json + run: cat eas.json + - name: Bundle JS code to verify it bundles run: npx expo export @@ -44,7 +47,7 @@ jobs: npm run build:plugin - name: set the Expo version for the example project and install recommend dep versions - run: npx expo install expo@^54 --fix + run: npx expo install expo@next --fix - name: Run expo prebuild run: EXPO_DEBUG=1 npx expo prebuild -p ios @@ -52,6 +55,9 @@ jobs: - name: Bundle JS code to verify it bundles run: npx expo export + - name: print eas.json + run: cat eas.json + # perform native build steps - uses: eas/resolve_build_config - uses: eas/generate_gymfile_from_template diff --git a/example/eas.json b/example/eas.json index 6b4d4ee..06ed9a8 100644 --- a/example/eas.json +++ b/example/eas.json @@ -10,7 +10,11 @@ }, "preview": { "withoutCredentials": true, - "distribution": "internal" + "distribution": "internal", + "ios": { + "//": "to produce an ipa", + "simulator": true + } }, "production": { "autoIncrement": true From 21416c26fc9e53a58c77543a7c5a1ddba745b178 Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 12:06:59 +0200 Subject: [PATCH 6/8] chore: remove invalid entry --- example/eas.json | 1 - 1 file changed, 1 deletion(-) diff --git a/example/eas.json b/example/eas.json index 06ed9a8..13c2ea0 100644 --- a/example/eas.json +++ b/example/eas.json @@ -12,7 +12,6 @@ "withoutCredentials": true, "distribution": "internal", "ios": { - "//": "to produce an ipa", "simulator": true } }, From f9080e32744d945e4679d41a9fa528ac3a3374cf Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 12:48:27 +0200 Subject: [PATCH 7/8] chore: capitalize step names --- .eas/workflows/build-eas.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.eas/workflows/build-eas.yml b/.eas/workflows/build-eas.yml index 1b24cd1..ef7e6d2 100644 --- a/.eas/workflows/build-eas.yml +++ b/.eas/workflows/build-eas.yml @@ -10,18 +10,18 @@ jobs: - uses: eas/checkout # This also changes cwd - uses: eas/install_node_modules - - name: build the config plugin so it can be used in the example app + - name: Build the config plugin so it can be used in the example app run: | cd .. npm run build:plugin - - name: set the Expo version for the example project and install recommend dep versions + - name: Set the Expo version for the example project and install recommend dep versions run: npx expo install expo@^53 --fix # one dep is 54-incompatible - name: Run expo prebuild run: EXPO_DEBUG=1 npx expo prebuild -p android - - name: print eas.json + - name: Print eas.json run: cat eas.json - name: Bundle JS code to verify it bundles @@ -41,12 +41,12 @@ jobs: - uses: eas/checkout # This also changes cwd - uses: eas/install_node_modules - - name: build the config plugin so it can be used in the example app + - name: Build the config plugin so it can be used in the example app run: | cd .. npm run build:plugin - - name: set the Expo version for the example project and install recommend dep versions + - name: Set the Expo version for the example project and install recommend dep versions run: npx expo install expo@next --fix - name: Run expo prebuild @@ -55,7 +55,7 @@ jobs: - name: Bundle JS code to verify it bundles run: npx expo export - - name: print eas.json + - name: Print eas.json run: cat eas.json # perform native build steps From bd931f77e880e7b29ffebe61fce60f36740ff64f Mon Sep 17 00:00:00 2001 From: Vojtech Novak Date: Fri, 29 Aug 2025 13:41:33 +0200 Subject: [PATCH 8/8] chore: add alternative way --- .eas/workflows/build-eas.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.eas/workflows/build-eas.yml b/.eas/workflows/build-eas.yml index ef7e6d2..313beb5 100644 --- a/.eas/workflows/build-eas.yml +++ b/.eas/workflows/build-eas.yml @@ -27,7 +27,8 @@ jobs: - name: Bundle JS code to verify it bundles run: npx expo export - # perform native build steps + # perform native build steps. + # Alternatively, use `eas/build` which will work too but performs checkout and install again (they basically noop) - uses: eas/resolve_build_config - uses: eas/run_gradle - uses: eas/find_and_upload_build_artifacts @@ -59,6 +60,7 @@ jobs: run: cat eas.json # perform native build steps + # Alternatively, use `eas/build` which will work too but performs checkout and install again (they basically noop) - uses: eas/resolve_build_config - uses: eas/generate_gymfile_from_template - uses: eas/run_fastlane