Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@
"minSdk": 24,
"targetSdk": 34,
"compileSdk": 34,
"firebase": "35.0.0",
"firebase": "35.0.2",
"firebaseCrashlyticsGradle": "3.0.8",
"firebasePerfGradle": "2.0.2",
"gmsGoogleServicesGradle": "4.5.0",
Expand Down
35 changes: 20 additions & 15 deletions scripts/run-full-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -353,33 +353,36 @@ run_verify_phase() {
PHASE=3
status_line verify RUNNING

local -a names runners
# Wave 1: native builds ∥ non-unit verify. Platform unit tests compile the same
# Kotlin/Gradle trees as :build — never run them in parallel with that platform's build
# (incremental-cache race: "Could not close incremental caches").
local -a wave1_names wave1_runners

if [[ -n "$SLOT" ]]; then
names=(
wave1_names=(
tests:android:build
tests:ios:build
tests:macos:build
)
runners=(
wave1_runners=(
"eval \"\$(bash ${EXPORT_SLOT_ENV} android ${SLOT})\" && yarn tests:android:build"
"eval \"\$(bash ${EXPORT_SLOT_ENV} ios ${SLOT})\" && yarn tests:ios:build"
"eval \"\$(bash ${EXPORT_SLOT_ENV} macos ${SLOT})\" && yarn tests:macos:build"
)
else
names=(
wave1_names=(
tests:android:build
tests:ios:build
tests:macos:build
)
runners=(
wave1_runners=(
'yarn tests:android:build'
'yarn tests:ios:build'
'yarn tests:macos:build'
)
fi

names+=(
wave1_names+=(
compare:types
tsc:compile
tsc:compile:consumer
Expand All @@ -392,10 +395,8 @@ run_verify_phase() {
lint:markdown
lint:spellcheck
tests:jest
tests:android:unit
tests:ios:unit
)
runners+=(
wave1_runners+=(
'yarn compare:types'
'yarn tsc:compile'
'yarn tsc:compile:consumer'
Expand All @@ -408,16 +409,20 @@ run_verify_phase() {
'yarn lint:markdown'
'yarn lint:spellcheck'
'yarn tests:jest'
'yarn tests:android:unit'
'yarn tests:ios:unit'
)

local args=()
for i in "${!names[@]}"; do
args+=("${names[$i]}" "${runners[$i]}")
local -a wave1_args=()
local i
for i in "${!wave1_names[@]}"; do
wave1_args+=("${wave1_names[$i]}" "${wave1_runners[$i]}")
done
run_parallel_steps "${wave1_args[@]}"

# Wave 2: after all builds succeed — android:unit ∥ ios:unit
run_parallel_steps \
tests:android:unit 'yarn tests:android:unit' \
tests:ios:unit 'yarn tests:ios:unit'

run_parallel_steps "${args[@]}"
status_line verify OK "$(elapsed_s)s"
}

Expand Down
Loading