summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre GRANDIN <pgrandin@users.noreply.github.com>2016-12-30 17:19:52 -0800
committerGitHub <noreply@github.com>2016-12-30 17:19:52 -0800
commitd9c1d9f90d21293a3702c457bdbbe06555980a2d (patch)
tree4e75a7adb72dc7fe663e0d224bf31921dc68a430
parent486f439e9afbf7a28eb0e0cbb664e78920befa91 (diff)
downloadnavit-d9c1d9f90d21293a3702c457bdbbe06555980a2d.tar.gz
Android ci optimization (#195)R7163
* Reducing differences between x86 and arm android builds * Fixed apk path in build scripts * Fixed xml artifacts path in build scripts * Bumping libpng to 1.6.27 * Removed APK signing webhook * Ensures that the arch-specific artifact directory exists * Reduced wget noise
-rw-r--r--ci/build_android.sh55
-rw-r--r--ci/build_android_x86.sh21
-rw-r--r--ci/build_tomtom_minimal.sh8
-rw-r--r--ci/build_tomtom_plugin.sh26
-rw-r--r--circle.yml3
5 files changed, 44 insertions, 69 deletions
diff --git a/ci/build_android.sh b/ci/build_android.sh
index 5e9794a07..610dbc6e2 100644
--- a/ci/build_android.sh
+++ b/ci/build_android.sh
@@ -1,64 +1,37 @@
#!/bin/bash
-red='\e[0;31m'
-grn='\e[0;32m'
-yel='\e[1;33m'
-off='\e[0m'
+set -e
-wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip
-[ -d ~/android-ndk-r13 ] || unzip -q -d ~ android-ndk-r13-linux-x86_64.zip
-
-# setup var's to perform environment setup and cmake
+export ARCH="arm"
export START_PATH=~/
export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/"
export CMAKE_FILE=$SOURCE_PATH"/Toolchain/arm-eabi.cmake"
-
export ANDROID_NDK=~/android-ndk-r13
export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin"
-
export ANDROID_SDK="/usr/local/android-sdk-linux/"
export ANDROID_SDK_PLATFORM_TOOLS=$ANDROID_SDK"/platform-tools"
+export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_PLATFORM_TOOLS:$PATH
+export BUILD_PATH=$START_PATH"/android-${ARCH}"
-export ANDROID_TOOLS_CHECK=$ANDROID_SDK"/tools"
-
-export ANDROID_PLATFORM_TOOLS_CHECK=$ANDROID_SDK"/platform-tools"
-
-export ANDROID_BUILD_TOOLS="23.0.1"
-export ANDROID_BUILD_CHECK=$ANDROID_SDK"/build-tools/"$BUILD_TOOLS
-
-export ANDROID_PLATFORM_LATEST="android-21"
-export ANDROID_PLATFORM_MIN="android-7"
-export BUILD_PATH=$START_PATH"/android-build"
-export ANDROID_ENV=$ANDROID_NDK_BIN:$ANDROID_SDK_TOOLS:$ANDROID_SDK_PLATFORM_TOOLS
-
-# $ANDROID_HOME is /usr/local/android-sdk-linux for the android env. provided by CircleCI
-
-# If path already has our environment no need to set it
-if echo "$ANDROID_ENV" | grep -q "$PATH"; then
- echo -e "${grn}" " Android PATH configuration... ALREADY SET" "${off}"
- echo
-else
- echo -e "${grn}" " Android PATH configuration... EXPORTED" "${off}"
- export PATH=$ANDROID_ENV:$PATH
- echo
-fi
+wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip
+[ -d ~/android-ndk-r13 ] || unzip -q -d ~ android-ndk-r13-linux-x86_64.zip
[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH
cd $BUILD_PATH
-export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_TOOLS:$ANDROID_SDK_PLATFORM_TOOLS:$PATH
+
android list targets
-mkdir $CIRCLE_ARTIFACTS/android/
-cp ~/navit/navit/android/CMakeLists.txt $CIRCLE_ARTIFACTS/android/
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DCACHE_SIZE='(20*1024*1024)' -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 $SOURCE_PATH
-make || exit 1
+make
+
if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
- make apkg-release && mv navit/android/bin/Navit-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-release-unsigned.apk || exit 1
+ make apkg-release && mv $BUILD_PATH/navit/android/bin/Navit-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk || exit 1
else
- make apkg && mv navit/android/bin/Navit-debug.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-debug.apk || exit 1
+ make apkg && mv $BUILD_PATH/navit/android/bin/Navit-debug.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-debug.apk || exit 1
fi
-cp ~/android-build/navit/*.xml $CIRCLE_ARTIFACTS/android/
+[ -d $CIRCLE_ARTIFACTS/android-${ARCH}/ ] || mkdir $CIRCLE_ARTIFACTS/android-${ARCH}/
+cp $BUILD_PATH/navit/*.xml $CIRCLE_ARTIFACTS/android-${ARCH}/
echo
echo "Build leftovers :"
-ls navit/android/bin/
+ls $BUILD_PATH
diff --git a/ci/build_android_x86.sh b/ci/build_android_x86.sh
index 022b7f5af..b42d03d9f 100644
--- a/ci/build_android_x86.sh
+++ b/ci/build_android_x86.sh
@@ -1,3 +1,7 @@
+#!/bin/bash
+set -e
+
+export arch="x86"
export START_PATH=~/
export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/"
export CMAKE_FILE=$SOURCE_PATH"/Toolchain/i686-android.cmake"
@@ -6,27 +10,28 @@ export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/x86-4.9/prebuilt/linux-x86_64/bi
export ANDROID_SDK="/usr/local/android-sdk-linux/"
export ANDROID_SDK_PLATFORM_TOOLS=$ANDROID_SDK"/platform-tools"
export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_PLATFORM_TOOLS:$PATH
-export BUILD_PATH=$START_PATH"/android-x86"
+export BUILD_PATH=$START_PATH"/android-${ARCH}"
wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip
-unzip -q -d ~ android-ndk-r13-linux-x86_64.zip
+[ -d ~/android-ndk-r13 ] || unzip -q -d ~ android-ndk-r13-linux-x86_64.zip
[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH
cd $BUILD_PATH
android list targets
-cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 $SOURCE_PATH || exit -1
-make || exit -1
+cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 $SOURCE_PATH
+make
if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
- make apkg-release && mv navit/android/bin/Navit-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-x86-release-unsigned.apk || exit 1
+ make apkg-release && mv $BUILD_PATH/navit/android/bin/Navit-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk || exit 1
else
- make apkg && mv navit/android/bin/Navit-debug.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-x86-debug.apk || exit 1
+ make apkg && mv $BUILD_PATH/navit/android/bin/Navit-debug.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-${ARCH}-debug.apk || exit 1
fi
-#cp ~/android-build/navit/*.xml $CIRCLE_ARTIFACTS/android/
+[ -d $CIRCLE_ARTIFACTS/android-${ARCH}/ ] || mkdir $CIRCLE_ARTIFACTS/android-${ARCH}/
+cp $BUILD_PATH/navit/*.xml $CIRCLE_ARTIFACTS/android-${ARCH}/
echo
echo "Build leftovers :"
-ls navit/android/bin/
+ls $BUILD_PATH
diff --git a/ci/build_tomtom_minimal.sh b/ci/build_tomtom_minimal.sh
index 6a8582be1..a931ece4c 100644
--- a/ci/build_tomtom_minimal.sh
+++ b/ci/build_tomtom_minimal.sh
@@ -40,9 +40,9 @@ if ! [ -e "~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.
wget -nv -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets
fi
-if ! test -f "~/tomtom_assets/libpng-1.6.26.tar.gz"
+if ! test -f "~/tomtom_assets/libpng-1.6.27.tar.gz"
then
- wget -nv -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets
+ wget -nv -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.27.tar.gz -P ~/tomtom_assets
fi
# toolchain
@@ -71,8 +71,8 @@ make install
# libpng
cd /tmp/
-tar xzf ~/tomtom_assets/libpng-1.6.26.tar.gz
-cd libpng-1.6.26/
+tar xzf ~/tomtom_assets/libpng-1.6.27.tar.gz
+cd libpng-1.6.27/
./configure --prefix=$PREFIX --host=$ARCH
make -j$JOBS
make install
diff --git a/ci/build_tomtom_plugin.sh b/ci/build_tomtom_plugin.sh
index 3080b39c1..01710a0ab 100644
--- a/ci/build_tomtom_plugin.sh
+++ b/ci/build_tomtom_plugin.sh
@@ -36,12 +36,12 @@ mkdir -p ~/tomtom_assets
if ! [ -e "~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz" ]
then
- wget -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets
+ wget -nv -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets
fi
-if ! test -f "~/tomtom_assets/libpng-1.6.26.tar.gz"
+if ! test -f "~/tomtom_assets/libpng-1.6.27.tar.gz"
then
- wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets
+ wget -nv -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.27.tar.gz -P ~/tomtom_assets
fi
# toolchain
@@ -52,7 +52,7 @@ tar xzf ~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz
# espeak
cd /tmp
# this one includes the precompiled voices
-wget -c http://freefr.dl.sourceforge.net/project/espeak/espeak/espeak-1.48/espeak-1.48.04-source.zip
+wget -nv -c http://freefr.dl.sourceforge.net/project/espeak/espeak/espeak-1.48/espeak-1.48.04-source.zip
unzip espeak-1.48.04-source.zip
cd espeak-1.48.04-source
sed -i "s/PREFIX=\/usr//g" src/Makefile
@@ -177,7 +177,7 @@ arm-linux-gcc -O2 -I$PREFIX/include -I$PREFIX/usr/include espeakdsp.c -o espeakd
# zlib
cd /tmp
-wget -c http://zlib.net/zlib-1.2.8.tar.gz
+wget -nv -c http://zlib.net/zlib-1.2.8.tar.gz
tar xzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=$PREFIX
@@ -186,7 +186,7 @@ make install
# libxml
cd /tmp/
-wget -c http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz
+wget -nv -c http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz
tar xzf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8/
./configure --prefix=$PREFIX --host=$ARCH --without-python
@@ -195,15 +195,15 @@ make install
# libpng
cd /tmp/
-tar xzf ~/tomtom_assets/libpng-1.6.26.tar.gz
-cd libpng-1.6.26/
+tar xzf ~/tomtom_assets/libpng-1.6.27.tar.gz
+cd libpng-1.6.27/
./configure --prefix=$PREFIX --host=$ARCH
make -j$JOBS
make install
cd /tmp
-wget -c http://download.savannah.gnu.org/releases/freetype/freetype-2.5.0.tar.gz
+wget -nv -c http://download.savannah.gnu.org/releases/freetype/freetype-2.5.0.tar.gz
tar xzf freetype-2.5.0.tar.gz
cd freetype-2.5.0
./configure --prefix=$PREFIX --host=$ARCH
@@ -214,7 +214,7 @@ freetype-config --cflags
# glib
cd /tmp
-wget -c http://ftp.gnome.org/pub/gnome/sources/glib/2.25/glib-2.25.17.tar.gz
+wget -nv -c http://ftp.gnome.org/pub/gnome/sources/glib/2.25/glib-2.25.17.tar.gz
tar xzf glib-2.25.17.tar.gz
cd glib-2.25.17
cat > tomtom.cache << EOF
@@ -249,10 +249,10 @@ make install
cd /tmp
-wget -c http://www.libsdl.org/release/SDL-1.2.15.tar.gz
+wget -nv -c http://www.libsdl.org/release/SDL-1.2.15.tar.gz
tar xzf SDL-1.2.15.tar.gz
cd SDL-1.2.15
-wget -c http://tracks.yaina.de/source/sdl-fbcon-notty.patch
+wget -nv -c http://tracks.yaina.de/source/sdl-fbcon-notty.patch
patch -p0 -i sdl-fbcon-notty.patch
./configure --prefix=$PREFIX --host=$ARCH \
--disable-esd --disable-cdrom --disable-joystick --disable-video-x11 \
@@ -273,7 +273,7 @@ export PATH=$PREFIX/bin:$PATH
# sdl image
cd /tmp
-wget -c http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz
+wget -nv -c http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz
tar xzf SDL_image-1.2.12.tar.gz
cd SDL_image-1.2.12
./configure --prefix=$PREFIX --host=$ARCH
diff --git a/circle.yml b/circle.yml
index d00c9f624..b3ccc4dab 100644
--- a/circle.yml
+++ b/circle.yml
@@ -58,6 +58,3 @@ deployment:
owner: navit-gps
commands:
- bash ci/merge_i18n_update.sh
-notify:
- webhooks:
- - url: http://62.210.125.30:8000/