Build iOS analyze snapshot in Apple CI

This commit is contained in:
Tony
2026-06-26 07:50:25 +08:00
parent 283bef2a81
commit 2d5f61d6f1
2 changed files with 38 additions and 6 deletions
+32 -5
View File
@@ -1314,7 +1314,8 @@ jobs:
run: | run: |
ninja -C out/ios_release \ ninja -C out/ios_release \
flutter/shell/platform/darwin/ios:flutter_framework \ flutter/shell/platform/darwin/ios:flutter_framework \
create_macos_gen_snapshots create_macos_gen_snapshots \
create_macos_analyze_snapshots
- name: Verify iOS interpreter route - name: Verify iOS interpreter route
run: ./scripts/verify_ios_interpreter_route.sh run: ./scripts/verify_ios_interpreter_route.sh
@@ -1353,10 +1354,36 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
mkdir -p artifacts/ios-engine/host_release_arm64 artifacts/ios-engine/ios-release mkdir -p artifacts/ios-engine/host_release_arm64 artifacts/ios-engine/ios-release
test -x flutter/engine/src/out/host_release_arm64/gen_snapshot
test -d flutter/engine/src/out/ios_release/Flutter.xcframework require_path() {
test -x flutter/engine/src/out/ios_release/universal/gen_snapshot_arm64 local path="$1"
test -x flutter/engine/src/out/ios_release/analyze_snapshot_arm64 if [ ! -e "$path" ]; then
echo "missing required path: $path" >&2
find flutter/engine/src/out/ios_release -maxdepth 3 \( -name 'Flutter*' -o -name '*snapshot*' \) -print >&2 || true
exit 1
fi
}
require_directory() {
require_path "$1"
if [ ! -d "$1" ]; then
echo "required path is not a directory: $1" >&2
exit 1
fi
}
require_executable() {
require_path "$1"
if [ ! -x "$1" ]; then
echo "required path is not executable: $1" >&2
exit 1
fi
}
require_executable flutter/engine/src/out/host_release_arm64/gen_snapshot
require_directory flutter/engine/src/out/ios_release/Flutter.xcframework
require_executable flutter/engine/src/out/ios_release/universal/gen_snapshot_arm64
require_executable flutter/engine/src/out/ios_release/analyze_snapshot_arm64
cp -R flutter/engine/src/out/ios_release/Flutter.framework artifacts/ios-engine/ cp -R flutter/engine/src/out/ios_release/Flutter.framework artifacts/ios-engine/
cp -R flutter/engine/src/out/ios_release/Flutter.xcframework artifacts/ios-engine/ cp -R flutter/engine/src/out/ios_release/Flutter.xcframework artifacts/ios-engine/
cp flutter/engine/src/out/host_release_arm64/gen_snapshot artifacts/ios-engine/host_release_arm64/ cp flutter/engine/src/out/host_release_arm64/gen_snapshot artifacts/ios-engine/host_release_arm64/
+6 -1
View File
@@ -1999,8 +1999,13 @@ assert!(
run_text_by_job.fetch('ios-engine').include?('--no-prebuilt-dart-sdk') && run_text_by_job.fetch('ios-engine').include?('--no-prebuilt-dart-sdk') &&
run_text_by_job.fetch('ios-engine').include?("--gn-args='dart_dynamic_modules=false dart_enable_aot_patching=true dart_enable_shorebird_interpreter=true shorebird_use_interpreter=true flutter_prebuilt_dart_sdk=false'") && run_text_by_job.fetch('ios-engine').include?("--gn-args='dart_dynamic_modules=false dart_enable_aot_patching=true dart_enable_shorebird_interpreter=true shorebird_use_interpreter=true flutter_prebuilt_dart_sdk=false'") &&
run_text_by_job.fetch('ios-engine').include?("--gn-args='flutter_prebuilt_dart_sdk=false'") && run_text_by_job.fetch('ios-engine').include?("--gn-args='flutter_prebuilt_dart_sdk=false'") &&
run_text_by_job.fetch('ios-engine').include?('create_macos_gen_snapshots') &&
run_text_by_job.fetch('ios-engine').include?('create_macos_analyze_snapshots') &&
run_text_by_job.fetch('ios-engine').include?('verify_ios_interpreter_route.sh') && run_text_by_job.fetch('ios-engine').include?('verify_ios_interpreter_route.sh') &&
run_text_by_job.fetch('ios-engine').include?('test -x flutter/engine/src/out/host_release_arm64/gen_snapshot') && run_text_by_job.fetch('ios-engine').include?('require_executable flutter/engine/src/out/host_release_arm64/gen_snapshot') &&
run_text_by_job.fetch('ios-engine').include?('require_directory flutter/engine/src/out/ios_release/Flutter.xcframework') &&
run_text_by_job.fetch('ios-engine').include?('require_executable flutter/engine/src/out/ios_release/analyze_snapshot_arm64') &&
run_text_by_job.fetch('ios-engine').include?('missing required path: $path') &&
run_text_by_job.fetch('ios-engine').include?('host_release_arm64/gen_snapshot') && run_text_by_job.fetch('ios-engine').include?('host_release_arm64/gen_snapshot') &&
run_text_by_job.fetch('ios-engine').include?('ios-release/artifacts.zip') && run_text_by_job.fetch('ios-engine').include?('ios-release/artifacts.zip') &&
run_text_by_job.fetch('ios-engine').include?('mirror/shorebird/flutter_infra_release/flutter/${engine_revision}/ios-release/artifacts.zip') && run_text_by_job.fetch('ios-engine').include?('mirror/shorebird/flutter_infra_release/flutter/${engine_revision}/ios-release/artifacts.zip') &&