#! /bin/bash set -e set -x function github_status { gcli status create mitx mitx $GIT_COMMIT \ --params=$1 \ target_url:$BUILD_URL \ description:"Build #$BUILD_NUMBER $2" \ -f csv } function github_mark_failed_on_exit { trap '[ $? == "0" ] || github_status state:failure "failed"' EXIT } git remote prune origin github_mark_failed_on_exit github_status state:pending "is running" # Reset the submodule, in case it changed git submodule foreach 'git reset --hard HEAD' # Set the IO encoding to UTF-8 so that askbot will start export PYTHONIOENCODING=UTF-8 GIT_BRANCH=${GIT_BRANCH/HEAD/master} if [ ! -d /mnt/virtualenvs/"$JOB_NAME" ]; then mkdir -p /mnt/virtualenvs/"$JOB_NAME" virtualenv /mnt/virtualenvs/"$JOB_NAME" fi source /mnt/virtualenvs/"$JOB_NAME"/bin/activate pip install -q -r pre-requirements.txt pip install -q -r test-requirements.txt yes w | pip install -q -r requirements.txt rake clobber TESTS_FAILED=0 rake test_cms[false] || TESTS_FAILED=1 rake test_lms[false] || TESTS_FAILED=1 rake test_common/lib/capa || TESTS_FAILED=1 rake test_common/lib/xmodule || TESTS_FAILED=1 # Don't run the lms jasmine tests for now because # they mostly all fail anyhow # rake phantomjs_jasmine_lms || true rake phantomjs_jasmine_cms || TESTS_FAILED=1 rake phantomjs_jasmine_common/lib/xmodule || TESTS_FAILED=1 rake coverage:xml coverage:html [ $TESTS_FAILED == '0' ] rake autodeploy_properties github_status state:success "passed"