From 3e9b1d2d30080939257ec382c49a6294bae3f65a Mon Sep 17 00:00:00 2001 From: kwadronaut Date: Thu, 23 Feb 2023 11:31:39 +0100 Subject: Add screengrab docker and ci Still some issues on language change and virtual screens Basics are there. --- scripts/fastlane.sh | 3 +-- scripts/installFastlane.sh | 39 +++++++++++++++++++++++++++++++++++++++ scripts/prepareForScreenshots.sh | 29 +++++++++++++++++++++++++++++ scripts/startEmulators.sh | 25 +++++++++++++++++++++---- 4 files changed, 90 insertions(+), 6 deletions(-) create mode 100755 scripts/installFastlane.sh create mode 100755 scripts/prepareForScreenshots.sh (limited to 'scripts') diff --git a/scripts/fastlane.sh b/scripts/fastlane.sh index f039cd24..1ce06ab8 100755 --- a/scripts/fastlane.sh +++ b/scripts/fastlane.sh @@ -26,9 +26,8 @@ BASE_DIR="$SCRIPT_DIR/.." cd $BASE_DIR if [[ -z $BUILD_CUSTOM ]]; then - fastlane android bitmask_screenshots + fastlane --verbose android bitmask_screenshots else fastlane android custom_build_screenshots --env custom fi; cd - - diff --git a/scripts/installFastlane.sh b/scripts/installFastlane.sh new file mode 100755 index 00000000..9abc6211 --- /dev/null +++ b/scripts/installFastlane.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +## --- System Dependencies for fastlane +apt-get update -qq && \ +apt-get -y dist-upgrade && \ +apt-get -y install make build-essential ruby ruby-dev imagemagick xvfb libxcb1 libname-dev + +gem install fastlane + +## ------------------------------------------------------ +## --- Android Emulator + +sdkmanager "platforms;android-30" +# +# Install Android SDK emulator package +echo y | sdkmanager "emulator" + +echo y | sdkmanager "system-images;android-31;google_apis;x86_64" +#echo y | sdkmanager "system-images;android-30;google_apis;x86_64" +#echo y | sdkmanager "system-images;android-28;google_apis;x86_64" +#echo y | sdkmanager "system-images;android-27;google_apis;x86" +#echo y | sdkmanager "system-images;android-25;google_apis;x86_64" + +echo no | avdmanager create avd --force --name testApi31 --abi google_apis/x86_64 --package 'system-images;android-31;google_apis;x86_64' +echo no | avdmanager create avd --force --name testApiduet --abi google_apis/x86_64 --package 'system-images;android-31;google_apis;x86_64' + +#echo no | avdmanager create avd --force --name testApi31 --abi google_apis/x86_64 --package 'system-images;android-30;google_apis;x86_64' +#echo no | avdmanager create avd --force --name testApiduet --abi google_apis/x86_64 --package 'system-images;android-30;google_apis;x86_64' + +#echo no | avdmanager create avd --force --name testApi28 --abi google_apis/x86_64 --package 'system-images;android-28;google_apis;x86_64' +#echo no | avdmanager create avd --force --name testApiduet --abi google_apis/x86_64 --package 'system-images;android-28;google_apis;x86_64' + +#echo no | avdmanager create avd --force --name testApi27 --abi google_apis/x86 --package 'system-images;android-27;google_apis;x86' +#echo no | avdmanager create avd --force --name testApiduet --abi google_apis/x86 --package 'system-images;android-27;google_apis;x86' + +#echo no | avdmanager create avd --force --name testApi25 --abi google_apis/x86_64 --package 'system-images;android-25;google_apis;x86_64' +#echo no | avdmanager create avd --force --name testApiduet --abi google_apis/x86_64 --package 'system-images;android-25;google_apis;x86_64' + +##bundle exec fastlane android bitmask_screenshots diff --git a/scripts/prepareForScreenshots.sh b/scripts/prepareForScreenshots.sh new file mode 100755 index 00000000..c2ae1bd5 --- /dev/null +++ b/scripts/prepareForScreenshots.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Copyright (c) 2023 LEAP Encryption Access Project and contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +SCRIPT_DIR=$(dirname "$0") +BASE_DIR="$SCRIPT_DIR/.." + +rm -r $BASE_DIR/bitmaskcore/lib/* + +git checkout -- \* +git checkout -- \.\* +git submodule foreach --recursive git reset --hard HEAD +git submodule sync --recursive +git submodule update --init --recursive + +BUILD_TOR=false BUILD_OPENVPN_LIBS=false ./scripts/build_deps.sh diff --git a/scripts/startEmulators.sh b/scripts/startEmulators.sh index d1bc8292..1d73dee7 100755 --- a/scripts/startEmulators.sh +++ b/scripts/startEmulators.sh @@ -1,5 +1,13 @@ #!/bin/bash +PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/Sdk/tools:$ANDROID_HOME/emulator +apt-get update +apt-get install -y libpulse-java libpulse0 imagemagick libxkbcommon-x11-0 xvfb vulkan-tools +# there's a QT thing missing +emulator -accel-check +docker info +export DISPLAY=:99.0 + # init parameters for ((i=1;i<=$#;i++)); do @@ -28,6 +36,13 @@ err() { } sec=0 timeout=30 + +# make sure the emulator is there - and in the PATH +echo y | sdkmanager "emulator" +avdmanager list avd +emulator -version +find /opt -iname emulator -type f + waitForAdbDevices() { while true; do if [[ $sec -ge $timeout ]]; then @@ -37,7 +52,7 @@ waitForAdbDevices() { if [[ "$out" == "$N" ]]; then break fi - let "r = sec % 5" + let "r = sec % 50" if [[ $r -eq 0 ]]; then echo "Waiting for adb devices to start: $out / $N" fi @@ -47,12 +62,14 @@ waitForAdbDevices() { } #start first N avd images -avdmanager list avd | grep Name: | cut -d ':' -f2 | head -n $N | xargs -I{} -P$N -n1 emulator -no-snapshot -avd {} & +Xvfb :0 -screen 0 800x600x16 & +#avdmanager list avd | grep 'Name:' | cut -d ':' -f2 | head -n $N | xargs -I{} -P$N -n1 emulator -no-snapshot -avd {} & +avdmanager list avd | grep 'Name:' | cut -d ':' -f2 | head -n $N | xargs -I{} -P$N -n1 emulator -no-window -no-audio -no-snapshot -avd {} & +#avdmanager list avd | grep 'Name:' | cut -d ':' -f2 | head -n $N | xargs -I{} -P$N -n1 emulator -no-snapshot -no-window -avd {} & +# avdmanager list avd | grep 'Name:' | cut -d ':' -f2 | head -n $N | xargs -I{} -P$N -n1 emulator -no-snapshot -no-window -no-boot-anim -accel on -avd {} & waitForAdbDevices echo "adb found all emulators..." #wait for each emulator that booting completed adb devices | grep -v List | awk '$2{print $1}' | xargs -I{} .gitlab/wait-for-emulator.sh -s {} echo "all emulators successfully booted" - - -- cgit v1.2.3