build on trusty

This commit is contained in:
Konstantin Käfer
2015-04-16 16:46:12 +02:00
parent 2831073f85
commit decc493ec8
38 changed files with 389 additions and 458 deletions

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
set -e
set -o pipefail
export BUILDTYPE=Debug
./android/scripts/common.sh $1

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
set -e
set -o pipefail
export BUILDTYPE=Release
./android/scripts/common.sh $1

View File

@@ -1,40 +0,0 @@
#!/usr/bin/env bash
set -e
set -o pipefail
NAME=$1
case `uname -s` in
'Darwin') export JOBS=`sysctl -n hw.ncpu` ;;
'Linux') export JOBS=`nproc` ;;
*) export JOBS=1 ;;
esac
export CC=clang CXX=clang++
export MASON_PLATFORM=android
mkdir -p ./android/java/MapboxGLAndroidSDKTestApp/src/main/res/raw/
echo "${MAPBOX_ACCESS_TOKEN}" >> ./android/java/MapboxGLAndroidSDKTestApp/src/main/res/raw/token.txt
make android -j$JOBS BUILDTYPE=$BUILDTYPE JOBS=$JOBS
S3_PREFIX=s3://mapbox/mapbox-gl-native/android/build/${NAME}
APK_OUTPUTS=./android/java/MapboxGLAndroidSDKTestApp/build/outputs/apk
# Upload the shared object.
aws s3 cp \
./build/android-${ANDROID_ABI}/${BUILDTYPE}/lib.target/libmapbox-gl.so \
${S3_PREFIX}/libmapbox-gl.so
# Upload either the debug or the release build
if [ ${BUILDTYPE} == "Debug" ] ; then
aws s3 cp \
${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-debug.apk \
${S3_PREFIX}/MapboxGLAndroidSDKTestApp-debug.apk
elif [ ${BUILDTYPE} == "Release" ] ; then
aws s3 cp \
${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-release-unsigned.apk \
${S3_PREFIX}/MapboxGLAndroidSDKTestApp-release-unsigned.apk
fi

View File

@@ -1,85 +0,0 @@
#!/usr/bin/env bash
set -e
set -o pipefail
cwd=$(pwd)
region="us-east-1"
region_ami="ami-022e0c6a"
sleep=10
instance_name="android-gl-build-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER"
echo $ami_name
NAME=$TRAVIS_JOB_ID
user_data="#!/bin/bash
cd /android
git clone git://github.com/mapbox/mapbox-gl-native.git
pushd mapbox-gl-native
if [[ $TRAVIS_PULL_REQUEST == 'false' ]]; then
git checkout $TRAVIS_COMMIT
else
git fetch origin +refs/pull/$TRAVIS_PULL_REQUEST/merge:
git checkout FETCH_HEAD
fi
git submodule update --init --recursive
export ANDROID_NDK_PATH=/android/android-ndk-r10d
export JAVA_HOME=/android/jdk1.7.0_71
export ANDROID_HOME=/android/android-sdk-linux
export PATH=\$PATH:/android/jdk1.7.0_71/bin
export MAPBOX_ACCESS_TOKEN=$MAPBOX_ACCESS_TOKEN
export TESTMUNK_KEY=$TESTMUNK_KEY
export TESTMUNK=$TESTMUNK
export MASON_ANDROID_ABI=$MASON_ANDROID_ABI
export ANDROID_ABI=$MASON_ANDROID_ABI
if ./android/scripts/build-$CONFIG.sh $NAME &>../build.log; then
echo 'ANDROID BUILD PASSED'
else
echo 'ANDROID BUILD FAILED'
fi
popd
aws s3 cp --region us-east-1 build.log s3://mapbox/mapbox-gl-native/android/build/${NAME}/build-log.txt
shutdown -P now"
id=$(aws ec2 run-instances \
--region $region \
--image-id $region_ami \
--count 1 \
--instance-type m3.large \
--iam-instance-profile Arn="$ANDROID_BUILD_INSTANCE_PROFILE" \
--instance-initiated-shutdown-behavior terminate \
--user-data "$user_data" | jq -r '.Instances[0].InstanceId')
echo "Instance: $region $id"
sleep 10
result=$(aws ec2 create-tags --region $region --resources $id --tags "Key=Name,Value=$instance_name")
instance_status_terminated=$(aws ec2 describe-instances --region $region --instance-id $id | jq -r '.Reservations[0].Instances[0].State.Name')
until [ "$instance_status_terminated" = "terminated" ]; do
instance_status_terminated=$(aws ec2 describe-instances --region $region --instance-id $id | jq -r '.Reservations[0].Instances[0].State.Name')
echo "Instance terminating status $region $id: $instance_status_terminated"
sleep $sleep
done
echo "Build finished"
output=$(aws ec2 get-console-output --region $region --instance-id $id | jq -r '.Output')
aws s3 cp --region $region s3://mapbox/mapbox-gl-native/android/build/${NAME}/build-log.txt build.log
cat build.log
if [[ $output == *"ANDROID BUILD PASSED"* ]]; then
echo "ANDROID BUILD PASSED"
exit 0
else
echo "ANDROID BUILD FAILED"
exit 1
fi