From b8dba454e3612e7f3a0a3eaa4e69e7db2f70e507 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 23 Apr 2019 14:46:10 +0200 Subject: [PATCH 1/5] gitlab-ci: only run Espresso tests on emulators newer than 25 --- .gitlab-ci.yml | 2 +- .../java/org/fdroid/fdroid/MainActivityEspressoTest.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 31253807a..01fabfa8c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -105,7 +105,7 @@ errorprone: - wait-for-emulator - adb devices - adb shell input keyevent 82 & - - test $AVD_SDK -ge 25 || export FLAG=-Pandroid.testInstrumentationRunnerArguments.notAnnotation=android.test.suitebuilder.annotation.LargeTest + - test $AVD_SDK -ge 25 || export FLAG=-Pandroid.testInstrumentationRunnerArguments.notAnnotation=android.support.test.filters.LargeTest - ./gradlew connectedFullDebugAndroidTest $FLAG || (adb -e logcat -d > logcat.txt; exit 1) connected 22 default armeabi-v7a: diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java index 3e23f3ed6..127216a04 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -49,6 +49,7 @@ import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeTrue; +@LargeTest @RunWith(AndroidJUnit4.class) public class MainActivityEspressoTest { public static final String TAG = "MainActivityEspressoTest"; From 951375f526d47df902047c792db479a5e9e246cf Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 23 Apr 2019 17:56:54 +0200 Subject: [PATCH 2/5] gitlab-ci: ensure standard RAM sizes if it needs to be downscaled gitlab.com says they always use 4GB instances now anyways. --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 01fabfa8c..07372fd21 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,10 +81,10 @@ errorprone: rm -rf ~/.android/avd $ANDROID_HOME/system-images; echo y | sdkmanager "$AVD_PACKAGE" > /dev/null; echo no | avdmanager create avd --name avd$AVD_SDK --tag "$AVD_TAG" --package "$AVD_PACKAGE" --sdcard 64M --device "Nexus 5"; - export RAMSIZE="$((`sed -n 's,^MemAvailable:[^0-9]*\([0-9][0-9]*\)[^0-9]*$,\1,p' /proc/meminfo` * 3 / 4 / 1024))"; - if [ $RAMSIZE -lt 4096 ]; then + export RAMSIZE="`sed -n 's,^MemAvailable:[^0-9]*\([0-9][0-9]*\)[^0-9]*$,\1,p' /proc/meminfo`"; + if [ $RAMSIZE -le 2048 ]; then sed -i '/^hw\.ramSize\s*=.*/d' ~/.android/avd/*.avd/config.ini; - echo "hw.ramSize=$RAMSIZE" >> ~/.android/avd/*.avd/config.ini; + echo "hw.ramSize=1024" >> ~/.android/avd/*.avd/config.ini; fi; avdmanager list avd; set +x; From b1fd5395b62ff9ec72aa195d8c7448467f70f044 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 23 Apr 2019 20:10:48 +0200 Subject: [PATCH 3/5] gitlab-ci: download proven emulator version based on https://aur.archlinux.org/android-emulator.git --- .gitlab-ci.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07372fd21..5e19b2e8b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -67,10 +67,17 @@ errorprone: - echo $AVD_PACKAGE - emulator -accel-check || true + # Use bleeding edge for Q, or download proven emulator version, based on + # https://aur.archlinux.org/android-emulator.git - if [[ "$AVD_SDK" == Q ]]; then set -x; echo y | sdkmanager --channel=3 "emulator" > /dev/null; set +x; - - elif [[ "$AVD_ARCH" != arm* ]]; then - set -x; echo y | sdkmanager "emulator" > /dev/null; set +x; + else + set -x; + rm -rf $ANDROID_HOME/emulator; + wget -q http://dl.google.com/android/repository/emulator-linux-5264690.zip; + echo "48c1cda2bdf3095d9d9d5c010fbfb3d6d673e3ea emulator-linux-5264690.zip" | sha1sum -c; + unzip -qq -d $ANDROID_HOME emulator-linux-5264690.zip; + set +x; fi - grep Revision $ANDROID_HOME/emulator/source.properties @@ -89,6 +96,7 @@ errorprone: avdmanager list avd; set +x; fi + - grep -v '^License' $ANDROID_HOME/system-images/android-$AVD_SDK/$AVD_TAG/$AVD_ARCH/source.properties - adb start-server - ls -l ~/.android - emulator -version From ad093d49e605da00caf6bcc8461c4e8cbfcdb292 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 23 Apr 2019 11:49:45 +0200 Subject: [PATCH 4/5] add weblate config file for wlc CLI tool --- .weblate | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .weblate diff --git a/.weblate b/.weblate new file mode 100644 index 000000000..ba04aeb74 --- /dev/null +++ b/.weblate @@ -0,0 +1,3 @@ +[weblate] +url = https://hosted.weblate.org/api/ +translation = f-droid/f-droid From 306786c9e544d5b5e40e8bf668277e23cfb053d2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 26 Apr 2019 00:00:29 +0200 Subject: [PATCH 5/5] gitlab-ci: run tests three times before marking whole job as failed There are soo many of these: org.fdroid.fdroid.net.HttpDownloaderTest > downloadThenCancel[avd27(AVD) - 8.1.0] FAILED Test failed to run to completion. Reason: 'Instrumentation run failed due to 'Process crashed.''. Check device logcat for details --- .gitlab-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e19b2e8b..bd30dae2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -114,7 +114,10 @@ errorprone: - adb devices - adb shell input keyevent 82 & - test $AVD_SDK -ge 25 || export FLAG=-Pandroid.testInstrumentationRunnerArguments.notAnnotation=android.support.test.filters.LargeTest - - ./gradlew connectedFullDebugAndroidTest $FLAG || (adb -e logcat -d > logcat.txt; exit 1) + - ./gradlew connectedFullDebugAndroidTest $FLAG + || ./gradlew connectedFullDebugAndroidTest $FLAG + || ./gradlew connectedFullDebugAndroidTest $FLAG + || (adb -e logcat -d > logcat.txt; exit 1) connected 22 default armeabi-v7a: retry: 1