Browse Source

For Travis CI - attempt to fix 32-bit CI build. Skip Android SDK.

Yao Wei Tjong 姚伟忠 12 years ago
parent
commit
c8a8d15681
2 changed files with 16 additions and 15 deletions
  1. 9 8
      .travis.yml
  2. 7 7
      Rakefile

+ 9 - 8
.travis.yml

@@ -7,24 +7,25 @@ env:
     - URHO3D_LIB_TYPE=SHARED ENABLE_64BIT=1 SITE_UPDATE=1
     - URHO3D_LIB_TYPE=STATIC ENABLE_64BIT=0
     - URHO3D_LIB_TYPE=SHARED ENABLE_64BIT=0
-    - URHO3D_LIB_TYPE=STATIC ENABLE_64BIT=0 ANDROID_NDK=/home/travis/build/urho3d/Urho3D/android-ndk
-    - URHO3D_LIB_TYPE=SHARED ENABLE_64BIT=0 ANDROID_NDK=/home/travis/build/urho3d/Urho3D/android-ndk
+    - URHO3D_LIB_TYPE=STATIC ENABLE_64BIT=0 ANDROID_NDK=1
+    - URHO3D_LIB_TYPE=SHARED ENABLE_64BIT=0 ANDROID_NDK=1
 matrix:
   allow_failures:
     - env: URHO3D_LIB_TYPE=STATIC ENABLE_64BIT=0
     - env: URHO3D_LIB_TYPE=SHARED ENABLE_64BIT=0
+    - env: URHO3D_LIB_TYPE=STATIC ENABLE_64BIT=0 ANDROID_NDK=1
+    - env: URHO3D_LIB_TYPE=SHARED ENABLE_64BIT=0 ANDROID_NDK=1
 language: cpp
 compiler: gcc
 before_install:
-    - bash -e /etc/init.d/xvfb start && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1024x768x24
-    - bash -c "[ $ANDROID_NDK ] && wget -q http://dl.google.com/android/android-sdk_r22.3-linux.tgz && tar xzf *.tgz && rm *.tgz && ln -s android-sdk* android-sdk && wget -q http://dl.google.com/android/ndk/android-ndk-r9c-linux-x86_64.tar.bz2 && tar xjf *.bz2 && rm *.bz2 && ln -s android-ndk* android-ndk || true"
-    - bash -c "[ $SITE_UPDATE ] && [ $TRAVIS_PULL_REQUEST == 'false' ] && sudo add-apt-repository ppa:george-edison55/precise-backports -y || true"
+    - bash -c "[ $ANDROID_NDK ]" && wget -q http://dl.google.com/android/ndk/android-ndk-r9c-linux-x86_64.tar.bz2 && tar xjf *.bz2 && rm *.bz2 && ln -s android-ndk* android-ndk && export ANDROID_NDK=$(pwd)/android-ndk || true
+    - bash -c "[ $SITE_UPDATE ] && [ $TRAVIS_PULL_REQUEST == 'false' ]" && sudo add-apt-repository ppa:george-edison55/precise-backports -y || true
     - sudo apt-get update -q -y
 install:
     - sudo apt-get install -q -y --no-install-recommends libasound2-dev
     - rvm gemset use global && gem install rake
-    - bash -c "[ x$ENABLE_64BIT == 'x0' ] &&  sudo apt-get install -q -y libxrandr-dev:i386 libgl1-mesa-dev:i386 g++-multilib || true"
-    - bash -c "[ $ANDROID_NDK ] &&  sudo apt-get install -q -y --no-install-recommends g++-multilib && (while :; do echo 'y'; sleep 1; done) |android-sdk/tools/android update sdk --no-ui --filter platform-tool,build-tools-19.0.1,android-19,system-image,extra-android-support || true"
-    - bash -c "[ $SITE_UPDATE ] && [ $TRAVIS_PULL_REQUEST == 'false' ] && sudo apt-get install -q -y --no-install-recommends doxygen graphviz || true"
+    - bash -c "[ x$ENABLE_64BIT == 'x0' ]" && sudo apt-get remove -q -y gvfs-daemons && sudo apt-get install -q -y libxrandr-dev:i386 libgl1-mesa-dev:i386 libxext-dev:i386 libxrender-dev:i386 g++-multilib && export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu || true
+    - bash -c "[ $SITE_UPDATE ] && [ $TRAVIS_PULL_REQUEST == 'false' ]" && sudo apt-get install -q -y --no-install-recommends doxygen graphviz || true
+    - bash -e /etc/init.d/xvfb start
 script: rake travis_ci
 after_success: rake travis_ci_site_update

+ 7 - 7
Rakefile

@@ -10,16 +10,12 @@ task :scaffolding do
   puts "\nNew project created in #{abs_path}\n\n"
   puts "To build the new project, you may need to first define and export either 'URHO3D_HOME' or 'URHO3D_INSTALL_PREFIX' environment variable"
   puts "Please see http://urho3d.github.io/documentation/a00004.html for more detail. For example:\n\n"
-  puts "$ URHO3D_HOME=#{Dir.pwd}; export URHO3D_HOME\n$ cd #{abs_path}\n$ ./cmake_gcc.sh -DENABLE_64BIT=1 -DENABLE_LUA=1\n$ cd Build\n$ make\n\n"
+  puts "$ URHO3D_HOME=#{Dir.pwd}; export URHO3D_HOME\n$ cd #{abs_path}\n$ ./cmake_gcc.sh -DENABLE_64BIT=1 -DENABLE_LUAJIT=1\n$ cd Build\n$ make\n\n"
 end
 
 # Usage: NOT intended to be used manually (if you insist then try: rake travis_ci)
 desc 'Configure, build, and test Urho3D project'
 task :travis_ci do
-  # Tell CMake where to find 32-bit libraries (specific to Ubuntu 12.04 LTS)
-  if ENV['ENABLE_64BIT'].to_i == 0
-    ENV['CMAKE_PREFIX_PATH'] = '/usr/lib/i386-linux-gnu'
-  end
   system './cmake_gcc.sh -DURHO3D_LIB_TYPE=$URHO3D_LIB_TYPE -DENABLE_64BIT=$ENABLE_64BIT -DENABLE_LUAJIT=1 -DENABLE_LUAJIT_AMALG=1 -DENABLE_SAMPLES=1 -DENABLE_TOOLS=1 -DENABLE_EXTRAS=1 -DENABLE_TESTING=1 -DCMAKE_BUILD_TYPE=Debug' or abort 'Failed to configure Urho3D library build'
   if ENV['ANDROID_NDK']
     # LuaJIT on Android build requires tolua++ and buildvm-android tools to be built natively first
@@ -29,15 +25,19 @@ task :travis_ci do
     ENV['SKIP_NATIVE'] = '1'
     system './cmake_gcc.sh' or abort 'Failed to reconfigure Urho3D library for Android build'
     PLATFORM_PREFIX = 'android-'
-    TEST = ''
   else
     PLATFORM_PREFIX = ''
+  end
+  # Only 64-bit environment has virtual framebuffer X server support
+  if ENV['ENABLE_64BIT'].to_i == 0
+    TEST = ''
+  else
     TEST = '&& make test'
   end
   system "cd #{PLATFORM_PREFIX}Build && make #{TEST}" or abort 'Failed to build or test Urho3D library'
   # Create a new project on the fly that uses newly built Urho3D library
   scaffolding "#{PLATFORM_PREFIX}Build/generated/externallib"
-  system "URHO3D_HOME=`pwd`; export URHO3D_HOME && cd #{PLATFORM_PREFIX}Build/generated/externallib && echo '\nUsing Urho3D as external library in external project' && ./cmake_gcc.sh -DENABLE_64BIT=$ENABLE_64BIT -DENABLE_LUA=1 -DENABLE_TESTING=1 -DCMAKE_BUILD_TYPE=Debug && cd #{PLATFORM_PREFIX}Build && make #{TEST}" or abort 'Failed to configure/build/test temporary project using Urho3D as external library' 
+  system "URHO3D_HOME=`pwd`; export URHO3D_HOME && cd #{PLATFORM_PREFIX}Build/generated/externallib && echo '\nUsing Urho3D as external library in external project' && ./cmake_gcc.sh -DENABLE_64BIT=$ENABLE_64BIT -DENABLE_LUAJIT=1 -DENABLE_TESTING=1 -DCMAKE_BUILD_TYPE=Debug && cd #{PLATFORM_PREFIX}Build && make #{TEST}" or abort 'Failed to configure/build/test temporary project using Urho3D as external library' 
 end
 
 # Usage: NOT intended to be used manually (if you insist then try: GIT_NAME=... GIT_EMAIL=... GH_TOKEN=... TRAVIS_BRANCH=master SITE_UPDATE=1 rake travis_ci_site_update)