update_scene_from_travis.sh 960 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/bash
  2. if [ -z "$1" ]
  3. then
  4. echo "Error: TravisCI job id is required."
  5. fi
  6. # These variable names should match the ones in .travis.yml
  7. PATCH_BEGIN_LINE='cat tests_scenes_diff.patch'
  8. PATCH_END_LINE='echo "scene diff path ends"'
  9. JOB_ID=$1
  10. RAW_LOG_URL=https://api.travis-ci.org/v3/job/${JOB_ID}/log.txt
  11. REPO_ROOT=$(dirname $0)/..
  12. cd $REPO_ROOT
  13. PWD=$(pwd)
  14. LOCAL_LOG_FILE=travis_${JOB_ID}_log.txt
  15. GIT_PATCH_FILE=${JOB_ID}_scene_diff.patch
  16. echo "Download travis build log from $RAW_LOG_URL"
  17. echo "Store to $PWD/$LOCAL_LOG_FILE"
  18. curl ${RAW_LOG_URL} --output $LOCAL_LOG_FILE
  19. BEGIN_LINE_NUMBER=$(awk "/${PATCH_BEGIN_LINE}/{ print NR; exit }" $LOCAL_LOG_FILE)
  20. END_LINE_NUMBER=$(awk "/${PATCH_END_LINE}/{ print NR; exit }" $LOCAL_LOG_FILE)
  21. sed -n "$((${BEGIN_LINE_NUMBER} + 1)),$((${END_LINE_NUMBER} - 1))p" $LOCAL_LOG_FILE > $GIT_PATCH_FILE
  22. git apply --verbose --ignore-whitespace --reject $GIT_PATCH_FILE
  23. rm $LOCAL_LOG_FILE
  24. rm $GIT_PATCH_FILE
  25. cd -