mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

- Update CS and googlesource.com link branches - Update GitHub /blob/ and /tree/ links Tested links manually and fixes a few broken or deprecated links Added a test that validates that `master` isn't used, except for specified repos. Part of https://github.com/flutter/flutter/issues/121564 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat [Data Driven Fixes]: https://github.com/flutter/flutter/wiki/Data-driven-Fixes
57 lines
2.1 KiB
Bash
Executable File
57 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright 2014 The Flutter Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Usage:
|
|
#
|
|
# ./run_release_test.sh <bundletool.jar path> <adb path>
|
|
#
|
|
# In CI, this script currently depends on a modified version of bundletool because
|
|
# ddmlib which bundletool depends on does not yet support detecting QEMU emulator device
|
|
# density system properties. See https://android.googlesource.com/platform/tools/base/+/refs/heads/main/ddmlib/src/main/java/com/android/ddmlib/IDevice.java#46
|
|
#
|
|
# The modified bundletool which waives the density requirement is at:
|
|
# https://chrome-infra-packages.appspot.com/p/flutter/android/bundletool/+/vFt1jA0cUeZLmUCVR5NG2JVB-SgJ18GH_pVYKMOlfUIC
|
|
|
|
bundletool_jar_path=$1
|
|
adb_path=$2
|
|
|
|
# Store the time to prevent capturing logs from previous runs.
|
|
script_start_time=$($adb_path shell 'date +"%m-%d %H:%M:%S.0"')
|
|
|
|
$adb_path uninstall "io.flutter.integration.deferred_components_test"
|
|
|
|
rm -f build/app/outputs/bundle/release/app-release.apks
|
|
rm -f build/app/outputs/bundle/release/run_logcat.log
|
|
|
|
flutter build appbundle
|
|
|
|
java -jar $bundletool_jar_path build-apks --bundle=build/app/outputs/bundle/release/app-release.aab --output=build/app/outputs/bundle/release/app-release.apks --local-testing --ks android/testing-keystore.jks --ks-key-alias testing_key --ks-pass pass:012345
|
|
java -jar $bundletool_jar_path install-apks --apks=build/app/outputs/bundle/release/app-release.apks
|
|
|
|
$adb_path shell "
|
|
am start -n io.flutter.integration.deferred_components_test/.MainActivity
|
|
exit
|
|
"
|
|
run_start_time_seconds=$(date +%s)
|
|
while read LOGLINE
|
|
do
|
|
if [[ "${LOGLINE}" == *"Running deferred code"* ]]; then
|
|
echo "Found ${LOGLINE}"
|
|
echo "All tests passed."
|
|
pkill -P $$
|
|
exit 0
|
|
fi
|
|
# Timeout if expected log not found
|
|
current_time=$(date +%s)
|
|
if [[ $((current_time - run_start_time_seconds)) -ge 300 ]]; then
|
|
echo "Failure: Timed out, deferred component did not load."
|
|
pkill -P $$
|
|
exit 1
|
|
fi
|
|
done < <($adb_path logcat -T "$script_start_time")
|
|
|
|
echo "Failure: Deferred component did not load."
|
|
exit 1
|