expo-github-action
expo-github-action copied to clipboard
Icons do not show-up on Android+iOS when run update in github actions
Description of the bug
After running eas update in github actions, icons do not show-up
To Reproduce
setup: mono repo with pnpm, node-linker=hoisted
- preview.yaml
on:
workflow_dispatch:
pull_request:
paths:
- 'services/mobile/**'
types: [opened, synchronize]
jobs:
preview:
runs-on: ubuntu-latest
permissions:
pull-requests: write # Allow comments on PRs
contents: read # This is required for actions/checkout
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # In order for commitlint to check historic commits
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- name: Install dependencies
run: pnpm install
- 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: 🏗 Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
packager: pnpm
- name: 🚀 Publish update
run: |
cd services/mobile
eas update --auto
# - name: 🚀 Create preview
# uses: expo/expo-github-action/preview@v8
# with:
# working-directory: services/mobile
# # `github.event.pull_request.head.ref` is only available on `pull_request` triggers.
# # Use your own, or keep the automatically infered branch name from `--auto`, when using different triggers.
# command: eas update --auto --channel dev
It does not work with neither calling update
directly NOR calling expo/expo-github-action/preview@v8
.
runtime version we set in app.config.js:
runtimeVersion: {
policy: 'appVersion'
},
The whole pipeline runs succesfully:
- Exporting...
[expo-cli] --non-interactive is not supported, use $CI=1 instead
- Exporting...
[expo-cli] env: load .env.production .env
- Exporting...
[expo-cli] env: export EXPO_PUBLIC_ENV EXPO_PUBLIC_TRPC_URL
- Exporting...
[expo-cli] Starting Metro Bundler
- Exporting...
[expo-cli] iOS Bundled [11](https://github.com/purple-technology/prop-zone-fintokei/actions/runs/8663008472/job/23756173854#step:8:12)1005ms (index.js)
- Exporting...
[expo-cli]
- Exporting...
[expo-cli] Android Bundled 115528ms (index.js)
- Exporting...
[expo-cli] Creating asset map
- Exporting...
[expo-cli] Preparing additional debugging files
- Exporting...
[expo-cli]
- Exporting...
[expo-cli] Exporting 16 assets:
- Exporting...
[expo-cli] ../../node_modules/.pnpm/@[email protected]/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf (1.15 MB)
- Exporting...
[expo-cli] ../../node_modules/.pnpm/@[email protected]_@[email protected]_react-native-safe-area-cont_yc6544yikravf7fja6gmifsoqi/node_modules/@react-navigation/elements/src/assets/back-icon-mask.png (913 B)
- Exporting...
[expo-cli] ../../node_modules/.pnpm/@[email protected]_@[email protected]_react-native-safe-area-cont_yc6544yikravf7fja6gmifsoqi/node_modules/@react-navigation/elements/src/assets/back-icon.png (10 variations | 338 B)
- Exporting...
[expo-cli] ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected]_ex_gbc23bbv4m4hctyytbv6wrioyi/node_modules/expo-router/assets/error.png (516 B)
- Exporting...
[expo-cli] ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected]_ex_gbc23bbv4m4hctyytbv6wrioyi/node_modules/expo-router/assets/file.png (158 B)
- Exporting...
[expo-cli] ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected]_ex_gbc23bbv4m4hctyytbv6wrioyi/node_modules/expo-router/assets/forward.png (250 B)
- Exporting...
[expo-cli] ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected]_ex_gbc23bbv4m4hctyytbv6wrioyi/node_modules/expo-router/assets/pkg.png (429 B)
- Exporting...
[expo-cli]
- Exporting...
[expo-cli] Exporting 2 bundles for ios:
- Exporting...
[expo-cli] _expo/static/js/ios/index-a90dec[12](https://github.com/purple-technology/prop-zone-fintokei/actions/runs/8663008472/job/23756173854#step:8:13)4a63809bfa8b4b72ba89f16f.hbc (2.42 MB)
- Exporting...
[expo-cli] _expo/static/js/ios/index-a90dec124a63809bfa8b4b72ba89f16f.hbc.map (8.37 MB)
- Exporting...
[expo-cli] Exporting 2 bundles for android:
- Exporting...
[expo-cli] _expo/static/js/android/index-af00a71b9c8[13](https://github.com/purple-technology/prop-zone-fintokei/actions/runs/8663008472/job/23756173854#step:8:14)87f8b2eb991471eca79.hbc (2.42 MB)
- Exporting...
[expo-cli] _expo/static/js/android/index-af00a71b9c81387f8b2eb99[14](https://github.com/purple-technology/prop-zone-fintokei/actions/runs/8663008472/job/23756173854#step:8:15)71eca79.hbc.map (8.37 MB)
- Exporting...
[expo-cli]
- Exporting...
[expo-cli] Exporting 3 files:
- Exporting...
[expo-cli] assetmap.json (9.98 kB)
- Exporting...
[expo-cli] debug.html (390 B)
- Exporting...
[expo-cli] metadata.json (1.63 kB)
- Exporting...
[expo-cli]
- Exporting...
[expo-cli] App exported to: dist
- Exporting...
✔ Exported bundle(s)
- Uploading...
✔ Uploaded 2 app bundles
✔ Uploading assets skipped - no new assets found
ℹ 12 iOS assets, 12 Android assets (maximum: [20](https://github.com/purple-technology/prop-zone-fintokei/actions/runs/8663008472/job/23756173854#step:8:21)00 total per update). Learn more about asset limits: https://expo.fyi/eas-update-asset-limits
✔ Channel: HEAD pointed at branch: HEAD
- Publishing...
✔ Published!
Result: No errors, the icons do not load
On the other hand when I run eas update
in terminal, all icons load successfully. I tried to compare the metadata of the updates and it looks very similar.
Expected behavior
Icons should load in updates using github actions
Actual behavior
Icons (using MaterialDesign icons) do not load:
Additional context
package.json:
{
"name": "fintokei-mobile",
"main": "index.js",
"version": "1.0.0",
"scripts": {
"start": "expo start --dev-client",
"android": "expo run:android",
"ios": "expo run:ios",
"type-check": "tsc -noEmit --skipLibCheck"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/vector-icons": "^14.0.0",
"@gluestack-style/animation-resolver": "^1.0.4",
"@gluestack-style/react": "^1.0.48",
"@gluestack-ui/config": "^1.1.7",
"@gluestack-ui/themed": "^1.1.8",
"@gorhom/portal": "^1.0.14",
"@react-native-community/hooks": "^3.0.0",
"@react-native-community/netinfo": "11.1.0",
"@react-native-segmented-control/segmented-control": "^2.5.0",
"@react-navigation/native": "^6.0.2",
"@shopify/flash-list": "^1.6.3",
"@tanstack/react-query": "^4.36.1",
"@trpc/client": "^10.45.1",
"@trpc/react-query": "^10.45.1",
"dayjs": "^1.11.10",
"expo": "~50.0.14",
"expo-application": "~5.8.3",
"expo-av": "~13.10.5",
"expo-constants": "~15.4.5",
"expo-dev-client": "~3.3.9",
"expo-device": "~5.9.3",
"expo-font": "~11.10.3",
"expo-linear-gradient": "~12.7.2",
"expo-linking": "~6.2.2",
"expo-local-authentication": "~13.8.0",
"expo-localization": "~14.8.3",
"expo-navigation-bar": "~2.8.1",
"expo-notifications": "~0.27.6",
"expo-router": "~3.4.7",
"expo-secure-store": "~12.8.1",
"expo-sharing": "~11.10.0",
"expo-splash-screen": "~0.26.4",
"expo-status-bar": "~1.11.1",
"expo-system-ui": "~2.9.3",
"expo-updates": "~0.24.11",
"expo-web-browser": "~12.8.2",
"i18next": "^23.10.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "^7.50.1",
"react-i18next": "^14.0.5",
"react-native": "0.73.4",
"react-native-gesture-handler": "~2.14.0",
"react-native-mmkv": "^2.12.1",
"react-native-pager-view": "^6.2.3",
"react-native-reanimated": "~3.6.2",
"react-native-safe-area-context": "4.8.2",
"react-native-screens": "~3.29.0",
"react-native-svg": "14.1.0",
"react-native-toast-message": "^2.2.0",
"react-native-web": "~0.19.6",
"react-native-webview": "13.6.4",
"zustand": "4.4.0"
},
"devDependencies": {
"expo-asset": "~9.0.2",
"@babel/core": "^7.20.0",
"@babel/runtime": "^7.24.0",
"@react-native/assets-registry": "0.74.0",
"@types/react": "~18.2.45",
"babel-preset-expo": "^10.0.1",
"jest": "^29.2.1",
"jest-expo": "~50.0.2",
"typescript": "^5.1.3"
},
"private": true
}
Tested in emulator && real device