@@ -37,21 +37,13 @@ jobs:
3737 android :
3838 name : ' Android: integrated tester & integration workflow with CLI'
3939 runs-on : ubuntu-latest
40- needs : build-lint
40+ env :
41+ TURBO_CACHE_DIR : .turbo/android
4142
4243 steps :
4344 - name : Checkout
4445 uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
4546
46- - name : Validate Gradle Wrapper
47- uses : gradle/actions/wrapper-validation@6f229686ee4375cc4a86b2514c89bac4930e82c4 # v5
48-
49- - name : Setup Java
50- uses : actions/setup-java@5d7b2146334bacf88728daaa70414a99f5164e0f # v5
51- with :
52- distribution : ' zulu'
53- java-version : ' 17'
54-
5547 - name : Setup Node.js
5648 uses : actions/setup-node@65d868f8d4d85d7d4abb7de0875cde3fcc8798f5 # v6
5749 with :
6456 - name : Build packages
6557 run : yarn build
6658
59+ - name : Cache turborepo for Android
60+ uses : actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
61+ with :
62+ path : ${{ env.TURBO_CACHE_DIR }}
63+ key : ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }}
64+ restore-keys : |
65+ ${{ runner.os }}-turborepo-android-
66+
67+ - name : Check turborepo cache for Android
68+ run : |
69+ TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:tester-integrated:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:tester-integrated:android').cache.status")
70+
71+ if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
72+ echo "turbo_cache_hit=1" >> $GITHUB_ENV
73+ fi
74+
75+ - name : Validate Gradle Wrapper
76+ if : env.turbo_cache_hit != 1
77+ uses : gradle/actions/wrapper-validation@6f229686ee4375cc4a86b2514c89bac4930e82c4 # v5
78+
79+ - name : Setup Java
80+ if : env.turbo_cache_hit != 1
81+ uses : actions/setup-java@5d7b2146334bacf88728daaa70414a99f5164e0f # v5
82+ with :
83+ distribution : ' zulu'
84+ java-version : ' 17'
85+
6786 - name : Restore android build cache
87+ if : env.turbo_cache_hit != 1
6888 uses : actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
6989 with :
7090 path : |
7595 restore-keys : |
7696 ${{ runner.os }}-tester-android-build-
7797
78- - name : Resture Gradle cache
98+ - name : Restore Gradle cache
99+ if : env.turbo_cache_hit != 1
79100 uses : actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
80101 with :
81102 path : |
@@ -91,7 +112,10 @@ jobs:
91112 run : yarn run brownfield:codegen
92113
93114 - name : Build integrated Android tester app
94- run : yarn run build:tester-integrated:android
115+ env :
116+ JAVA_OPTS : ' -XX:MaxHeapSize=6g'
117+ run : |
118+ yarn turbo run build:tester-integrated:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
95119
96120 # == RNApp ==
97121
@@ -119,8 +143,9 @@ jobs:
119143
120144 ios :
121145 name : Integrated tester iOS App
122- runs-on : macos-latest
123- needs : build-lint
146+ runs-on : macos-15
147+ env :
148+ TURBO_CACHE_DIR : .turbo/ios
124149
125150 steps :
126151 - name : Checkout
@@ -149,7 +174,24 @@ jobs:
149174 - name : Build packages
150175 run : yarn build
151176
177+ - name : Cache turborepo for iOS
178+ uses : actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
179+ with :
180+ path : ${{ env.TURBO_CACHE_DIR }}
181+ key : ${{ runner.os }}-turborepo-ios-${{ hashFiles('yarn.lock') }}
182+ restore-keys : |
183+ ${{ runner.os }}-turborepo-ios-
184+
185+ - name : Check turborepo cache for iOS
186+ run : |
187+ TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:tester-integrated:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:tester-integrated:ios').cache.status")
188+
189+ if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
190+ echo "turbo_cache_hit=1" >> $GITHUB_ENV
191+ fi
192+
152193 - name : Restore Pods cache
194+ if : env.turbo_cache_hit != 1
153195 uses : actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
154196 with :
155197 path : |
@@ -159,6 +201,7 @@ jobs:
159201 ${{ runner.os }}-tester-ios-pods-
160202
161203 - name : Install pods
204+ if : env.turbo_cache_hit != 1
162205 run : |
163206 cd apps/TesterIntegrated/swift
164207 pod install
@@ -167,7 +210,7 @@ jobs:
167210
168211 - name : Build integrated iOS tester app
169212 run : |
170- yarn run build:tester-integrated:ios
213+ yarn turbo run build:tester-integrated:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
171214
172215 # == RNApp ==
173216
0 commit comments