build_script.sh 2.0 KB
Newer Older
T
tangwei 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/usr/bin/env bash

# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#=================================================
#                   Utils
#=================================================

set -ex

T
tangwei 已提交
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
function init() {
    RED='\033[0;31m'
    BLUE='\033[0;34m'
    BOLD='\033[1m'
    NONE='\033[0m'

    ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}")/../../" && pwd )"
}

function check_style() {
  set -e

  export PATH=/usr/bin:$PATH
  pre-commit install

  if ! pre-commit run -a; then
    git diff
    exit 1
  fi

T
tangwei 已提交
43
  exit 0
T
tangwei 已提交
44 45
}

C
Chengmo 已提交
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
function model_test() {
  set -e
  export PATH=/usr/bin:$PATH
  
  root_dir=`pwd`
  all_model=$(find ${root_dir} -name config.yaml)
  special_models=("demo" "pnn" "fgcnn" "esmm")

  for model in ${all_model}
  do
    skip_flag=false
    for special in ${special_models[*]}
    do
      if [[ $model == *$special* ]]
        then
        echo "Skip "$model
        skip_flag=true
        continue
      fi
    done
    if [[ ${skip_flag} == true ]]
    then
      continue
    fi
    echo "Running "$model
    python -m paddlerec.run -m ${model}

    status=$(echo $?)
    if [[ ${status} -ne 0 ]]
      then
        echo "Test Failed! "$model  
        exit 1  
    fi
    echo "Model Passed "$model
  done
  echo "All Model Test Passed!"
  exit 0
}

T
tangwei 已提交
85 86 87 88 89 90 91
function main() {
  local CMD=$1
  init
  case $CMD in
    check_style)
    check_style
    ;;
C
Chengmo 已提交
92 93 94 95
    model_test)
    model_test
    ;;
    *)
T
tangwei 已提交
96 97
    echo "build failed"
    exit 1
C
Chengmo 已提交
98
    ;;
T
tangwei 已提交
99 100
    esac
    echo "check_style finished as expected"
T
tangwei 已提交
101 102 103
}

main $@