.travis.yml 3.5 KB
Newer Older
Y
yejianwu 已提交
1
language: cpp
2 3 4 5 6 7 8 9
matrix:
  include:
    - os: linux
      dist: xenial
      sudo: required
    - os: osx
      osx_image: xcode7.2
      sudo: required
Y
yejianwu 已提交
10 11

before_install:
12 13 14 15 16
  - echo "Start to test on $TRAVIS_OS_NAME";
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PIP=pip2; else export PIP=pip; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export OS=darwin; else export OS=linux; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PYTHONPATH="/usr/local/lib/python2.7/site-packages:$PYTHONPATH"; fi
  - sudo $PIP install pycodestyle
17
  - export BAZEL_VERSION=0.13.1
18
  - wget https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-$OS-x86_64.sh
19
  - chmod +x bazel-*.sh
20 21
  - sudo ./bazel-$BAZEL_VERSION-installer-$OS-x86_64.sh
  - rm -f bazel-$BAZEL_VERSION-installer-$OS-x86_64.sh
22
  - pushd /opt/
23 24 25
  - sudo wget -q https://dl.google.com/android/repository/android-ndk-r15c-$OS-x86_64.zip
  - sudo unzip -q android-ndk-r15c-$OS-x86_64.zip
  - sudo rm -f android-ndk-r15c-$OS-x86_64.zip
26 27 28 29 30
  - export ANDROID_NDK_VERSION=r15c
  - export ANDROID_NDK=/opt/android-ndk-${ANDROID_NDK_VERSION}
  - export ANDROID_NDK_HOME=${ANDROID_NDK}
  - export PATH=${PATH}:${ANDROID_NDK_HOME}
  - popd
31 32 33 34
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew cask install android-platform-tools; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update; sudo apt-get install -y --no-install-recommends android-tools-adb; fi
  - sudo $PIP install setuptools
  - sudo $PIP install -I "tensorflow==1.8.0" "numpy>=1.14.0" "sh==1.12.14" "pycodestyle==2.4.0" filelock scipy jinja2 pyyaml 
Y
yejianwu 已提交
35 36

script:
37 38 39 40
  - >
    echo "MACE_TEST 0: Check cpp code style";
    curl -o cpplint.py https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py && python cpplint.py --linelength=80 --counting=detailed $(find mace -name "*.h" -or -name "*.cc") && rm -f cpplint.py || exit 1;
    echo "MACE_TEST 1: Check python code style";
41 42
    pycodestyle $(find . -name "*.py") || exit 1;
    echo "MACE_TEST 2: Ops test";
43
    python tools/bazel_adb_run.py --target="//mace/ops:ops_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1;
44 45 46 47
    if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then
      python tools/bazel_adb_run.py --target="//mace/ops:ops_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a --enable_neon=false || exit 1;
    fi;
    echo "MACE_TEST 3: Ops benchmark";
48
    python tools/bazel_adb_run.py --target="//mace/ops:ops_benchmark" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1;
49 50 51 52 53 54 55 56 57 58 59 60 61
    
    if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then
      echo "MACE_TEST 4: Platform compatible test";
      mkdir -p mace/codegen/version && bash mace/tools/git/gen_version_source.sh mace/codegen/version/version.cc || exit 1;
      mkdir -p mace/codegen/tuning && python mace/python/tools/binary_codegen.py --output_path=mace/codegen/tuning/tuning_params.cc || exit 1;
      bazel build mace/core:core || exit 1;
      echo "MACE_TEST 5: Api test";
      python tools/bazel_adb_run.py --target="//mace/test:mace_api_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1;
      python tools/bazel_adb_run.py --target="//mace/test:mace_api_mt_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1;
      echo "MACE_TEST 6: Extra test";
      python tools/bazel_adb_run.py --target="//mace/kernels:kernels_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1;
      python tools/bazel_adb_run.py --target="//mace/utils:tuner_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1;
    fi;