-
Notifications
You must be signed in to change notification settings - Fork 0
140 lines (136 loc) · 6.59 KB
/
Copy pathdevelopment-client.yml
File metadata and controls
140 lines (136 loc) · 6.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: Development Client
on:
workflow_dispatch: {}
# This task will fail due to migration to `expo-modules-core`.
# We temporary disable it.
# pull_request:
# paths:
# - .github/workflows/development-client.yml
# - packages/expo-dev-*/**
# push:
# branches: [main]
# paths:
# - .github/workflows/development-client.yml
# - packages/expo-dev-*/**
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: true
jobs:
android:
runs-on: ubuntu-24.04
strategy:
matrix:
ndk-version: [21.4.7075529]
steps:
- name: 👀 Checkout
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: ➕ Add `bin` to GITHUB_PATH
run: echo "$(pwd)/bin" >> $GITHUB_PATH
- name: 🔨 Install pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: 10
- name: 🔨 Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22
cache: 'pnpm'
- name: ♻️ Restore caches
uses: ./.github/actions/expo-caches
id: expo-caches
with:
ndk: 'true'
ndk-version: ${{ matrix.ndk-version }}
- name: 📦 Install node modules
run: pnpm install --frozen-lockfile
- name: Init new expo app
working-directory: ../
run: pnpm create expo-app ./development-client-android-test --yes
- name: Make Yarn resolve expo-dev-client dependencies locally
working-directory: ../development-client-android-test
run: |
node -e " \
const pkg = require('./package.json'); \
pkg.resolutions = { \
...pkg.resolutions, \
'expo-dev-menu': 'file:${{ github.workspace }}/packages/expo-dev-menu', \
'expo-dev-menu-interface': 'file:${{ github.workspace }}/packages/expo-dev-menu-interface', \
'expo-dev-launcher': 'file:${{ github.workspace }}/packages/expo-dev-launcher', \
'expo-updates-interface': 'file:${{ github.workspace }}/packages/expo-updates-interface', \
'expo-updates': 'file:${{ github.workspace }}/packages/expo-updates', \
'expo-manifests': 'file:${{ github.workspace }}/packages/expo-manifests', \
'expo-json-utils': 'file:${{ github.workspace }}/packages/expo-json-utils', \
}; \
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\n');"
- name: Add dependencies
working-directory: ../development-client-android-test
run: pnpm add file:${{ github.workspace }}/packages/expo-dev-client
- name: Setup app.config.json
working-directory: ../development-client-android-test
run: echo "{\"name\":\"development-client-android-test\",\"plugins\":[\"expo-dev-client\"],\"android\":{\"package\":\"com.devclient.test\"},\"ios\":{\"bundleIdentifier\":\"com.devclient.test\"}}" > app.config.json
- name: Prebuild Android
working-directory: ../development-client-android-test
run: pnpm expo prebuild --platform android
- name: Bump `build tools`
working-directory: ../development-client-android-test
run: sed -i -e 's/buildToolsVersion\ =\ \"29\..\..\"/buildToolsVersion\ = \"30\.0\.3\"/' ./android/build.gradle
- name: Bump `android build tools`
working-directory: ../development-client-android-test
run: sed -i -e 's/com\.android\.tools\.build:gradle:3\..\../com\.android\.tools\.build:gradle:3\.5\.4/' ./android/build.gradle
- name: 🏗️ Build debug version
env:
ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/${{ matrix.ndk-version }}/
working-directory: ../development-client-android-test/android
run: ./gradlew assembleDebug
ios:
runs-on: macos-15
steps:
- name: 👀 Checkout
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: ➕ Add `bin` to GITHUB_PATH
run: echo "$(pwd)/bin" >> $GITHUB_PATH
- name: 🔨 Install pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: 10
- name: 🔨 Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22
cache: 'pnpm'
- name: ♻️ Restore caches
uses: ./.github/actions/expo-caches
id: expo-caches
- name: 📦 Install node modules
run: pnpm install --frozen-lockfile
- name: Init new expo app
working-directory: ../
run: pnpm create expo-app ./development-client-ios-test --yes
- name: Make Yarn resolve expo-dev-client dependencies locally
working-directory: ../development-client-ios-test
run: |
node -e " \
const pkg = require('./package.json'); \
pkg.resolutions = { \
...pkg.resolutions, \
'expo-dev-menu': 'file:${{ github.workspace }}/packages/expo-dev-menu', \
'expo-dev-menu-interface': 'file:${{ github.workspace }}/packages/expo-dev-menu-interface', \
'expo-dev-launcher': 'file:${{ github.workspace }}/packages/expo-dev-launcher', \
'expo-updates-interface': 'file:${{ github.workspace }}/packages/expo-updates-interface', \
'expo-updates': 'file:${{ github.workspace }}/packages/expo-updates', \
'expo-manifests': 'file:${{ github.workspace }}/packages/expo-manifests', \
'expo-json-utils': 'file:${{ github.workspace }}/packages/expo-json-utils', \
}; \
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\n');"
- name: Add dependencies
working-directory: ../development-client-ios-test
run: pnpm add file:${{ github.workspace }}/packages/expo-dev-client
- name: Setup app.config.json
working-directory: ../development-client-ios-test
run: echo "{\"name\":\"development-client-ios-test\",\"plugins\":[\"expo-dev-client\"],\"android\":{\"package\":\"com.devclient.test\"},\"ios\":{\"bundleIdentifier\":\"com.devclient.test\"}}" > app.config.json
- name: Prebuild iOS
working-directory: ../development-client-ios-test
run: pnpm expo prebuild --platform ios
- name: 🏗️ Build debug version
working-directory: ../development-client-ios-test
run: xcodebuild -workspace ios/developmentclientiostest.xcworkspace -scheme developmentclientiostest -configuration debug -sdk iphonesimulator -arch x86_64