blob: 14be500e618248819b7303120f94752a7dea40b3 [file] [log] [blame]
#!/bin/bash
set -e
GIT_REVISION=$(git rev-parse HEAD)
pushd dev/integration_tests/release_smoke_test
../../../bin/flutter build appbundle --target-platform android-arm,android-arm64
# New contributors will not have permissions to run this test - they won't be
# able to access the service account information. We should just mark the test
# as passed - it will run fine on post submit, where it will still catch
# failures.
# We can also still make sure that building a release app bundle still works.
if [[ $GCLOUD_FIREBASE_TESTLAB_KEY == ENCRYPTED* ]]; then
echo "This user does not have permission to run this test."
exit 0
fi
echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
gcloud --quiet config set project flutter-infra
# Firebase Test Lab tests are currently known to be failing with
# "Firebase Test Lab infrastructure failure: Error during preprocessing"
# Remove "|| exit 0" once the failures are resolved
# https://github.com/flutter/flutter/issues/36501
# Run the test.
gcloud firebase test android run --type robo \
--app build/app/outputs/bundle/release/app.aab \
--timeout 2m \
--results-bucket=gs://flutter_firebase_testlab \
--results-dir=release_smoke_test/$GIT_REVISION/$CIRRUS_BUILD_ID || exit 0
# Check logcat for "E/flutter" - if it's there, something's wrong.
gsutil cp gs://flutter_firebase_testlab/release_smoke_test/$GIT_REVISION/$CIRRUS_BUILD_ID/walleye-26-en-portrait/logcat /tmp/logcat
! grep "E/flutter" /tmp/logcat || false
grep "I/flutter" /tmp/logcat
popd