diff --git a/.travis.yml b/.travis.yml index 37de8c07a..5d4fb39f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,24 +32,13 @@ matrix: rvm: 2.4.0 env: PYTHON_VER=3.5.0 before_install: - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pyenv install $PYTHON_VER; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pyenv global $PYTHON_VER; fi + - bash ./scripts/ci/before_install.sh install: - - pip install --upgrade pip - - pip install -r requirements.txt - - pip install -r test-requirements.txt - - git config --global user.email "dvctester@example.com" - - git config --global user.name "DVC Tester" - - mkdir ~/.aws - - printf "[default]\naws_access_key_id = $AWS_ACCESS_KEY_ID\naws_secret_access_key = $AWS_SECRET_ACCESS_KEY\n" > ~/.aws/credentials - - printf "[default]\n" > ~/.aws/config + - bash ./scripts/ci/install.sh before_script: - bash ./scripts/ci/before_script.sh script: - - ./unittests.sh - - ./functests.sh - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./scripts/build_macos.sh; else ./scripts/build_linux.sh; fi - - ./scripts/build_package.sh + - bash ./scripts/ci/script.sh after_script: - bash ./scripts/ci/after_script.sh deploy: diff --git a/scripts/ci/before_deploy.sh b/scripts/ci/before_deploy.sh new file mode 100644 index 000000000..23276298e --- /dev/null +++ b/scripts/ci/before_deploy.sh @@ -0,0 +1,5 @@ +if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then + git config --local user.name 'Nightly Travis Builds' + git config --local user.email '<>' + git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)" +fi diff --git a/scripts/ci/before_install.sh b/scripts/ci/before_install.sh new file mode 100644 index 000000000..69211a431 --- /dev/null +++ b/scripts/ci/before_install.sh @@ -0,0 +1,4 @@ +if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + pyenv install $PYTHON_VER + pyenv global $PYTHON_VER +fi diff --git a/scripts/ci/install.sh b/scripts/ci/install.sh new file mode 100644 index 000000000..d23a9f728 --- /dev/null +++ b/scripts/ci/install.sh @@ -0,0 +1,10 @@ +pip install --upgrade pip +pip install -r requirements.txt +pip install -r test-requirements.txt +git config --global user.email "dvctester@example.com" +git config --global user.name "DVC Tester" +mkdir ~/.aws +printf "[default]\n" > ~/.aws/credentials +printf "aws_access_key_id = $AWS_ACCESS_KEY_ID\n" >> ~/.aws/credentials +printf "aws_secret_access_key = $AWS_SECRET_ACCESS_KEY\n" >> ~/.aws/credentials +printf "[default]\n" > ~/.aws/config diff --git a/scripts/ci/script.sh b/scripts/ci/script.sh new file mode 100644 index 000000000..fd744a8d1 --- /dev/null +++ b/scripts/ci/script.sh @@ -0,0 +1,10 @@ +./unittests.sh +./functests.sh + +if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + ./scripts/build_macos.sh +else + ./scripts/build_linux.sh +fi + +./scripts/build_package.sh