This essentially reverts #20178, since the flakes should be gone after pinning ChromeDriver and Chrome versions to 2.32 and 59 respectively.
124 lines
3.2 KiB
Bash
Executable File
124 lines
3.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -u -e -o pipefail
|
|
|
|
TRAVIS=${TRAVIS:-}
|
|
CI_MODE=${CI_MODE:-}
|
|
|
|
# Setup environment
|
|
readonly thisDir=$(cd $(dirname $0); pwd)
|
|
source ${thisDir}/_travis-fold.sh
|
|
|
|
|
|
# If the previous commands in the `script` section of .travis.yaml failed, then abort.
|
|
# The variable is not set in early stages of the build, so we default to 0 there.
|
|
# https://docs.travis-ci.com/user/environment-variables/
|
|
if [[ ${TRAVIS_TEST_RESULT=0} == 1 ]]; then
|
|
exit 1;
|
|
fi
|
|
|
|
|
|
mkdir -p ${LOGS_DIR}
|
|
|
|
|
|
# TODO: install nvm?? it's already on travis so we don't need it
|
|
#curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
|
|
|
|
|
|
# Install node
|
|
#nvm install ${NODE_VERSION}
|
|
|
|
|
|
# Install version of yarn that we are locked against
|
|
travisFoldStart "install-yarn"
|
|
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version "${YARN_VERSION}"
|
|
travisFoldEnd "install-yarn"
|
|
|
|
|
|
# Install all npm dependencies according to yarn.lock
|
|
travisFoldStart "yarn-install"
|
|
(node tools/npm/check-node-modules --purge && yarn update-webdriver) || yarn install --frozen-lockfile --non-interactive
|
|
travisFoldEnd "yarn-install"
|
|
|
|
|
|
# Install bower packages
|
|
travisFoldStart "bower-install"
|
|
$(npm bin)/bower install
|
|
travisFoldEnd "bower-install"
|
|
|
|
|
|
if [[ ${TRAVIS} &&
|
|
${CI_MODE} == "aio" ||
|
|
${CI_MODE} == "aio_e2e" ||
|
|
${CI_MODE} == "aio_tools_test"
|
|
]]; then
|
|
# angular.io: Install all yarn dependencies according to angular.io/yarn.lock
|
|
travisFoldStart "yarn-install.aio"
|
|
(
|
|
cd ${PROJECT_ROOT}/aio
|
|
yarn install --frozen-lockfile --non-interactive
|
|
)
|
|
travisFoldEnd "yarn-install.aio"
|
|
fi
|
|
|
|
# Install bazel
|
|
if [[ ${TRAVIS} && (${CI_MODE} == "bazel" || ${CI_MODE} == "e2e_2") ]]; then
|
|
travisFoldStart "bazel-install"
|
|
(
|
|
mkdir tmp
|
|
cd tmp
|
|
curl --location --compressed https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh > bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh
|
|
chmod +x bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh
|
|
./bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh --user
|
|
cd ..
|
|
rm -rf tmp
|
|
)
|
|
travisFoldEnd "bazel-install"
|
|
fi
|
|
|
|
|
|
# Install Chromium
|
|
if [[ ${TRAVIS} &&
|
|
${CI_MODE} == "js" ||
|
|
${CI_MODE} == "e2e" ||
|
|
${CI_MODE} == "e2e_2" ||
|
|
${CI_MODE} == "aio" ||
|
|
${CI_MODE} == "aio_e2e"
|
|
]]; then
|
|
travisFoldStart "install-chromium"
|
|
(
|
|
${thisDir}/install-chromium.sh
|
|
|
|
# Start xvfb for local Chrome used for testing
|
|
if [[ ${TRAVIS} ]]; then
|
|
travisFoldStart "install-chromium.xvfb-start"
|
|
sh -e /etc/init.d/xvfb start
|
|
travisFoldEnd "install-chromium.xvfb-start"
|
|
fi
|
|
)
|
|
travisFoldEnd "install-chromium"
|
|
fi
|
|
|
|
|
|
# Install Sauce Connect
|
|
if [[ ${TRAVIS}] && (${CI_MODE} == "saucelabs_required" || ${CI_MODE} == "saucelabs_optional") ]]; then
|
|
travisFoldStart "install-sauceConnect"
|
|
(
|
|
${thisDir}/../sauce/sauce_connect_setup.sh
|
|
)
|
|
travisFoldEnd "install-sauceConnect"
|
|
fi
|
|
|
|
|
|
# Install BrowserStack Tunnel
|
|
if [[ ${TRAVIS} && (${CI_MODE} == "browserstack_required" || ${CI_MODE} == "browserstack_optional") ]]; then
|
|
travisFoldStart "install-browserstack"
|
|
(
|
|
${thisDir}/../browserstack/start_tunnel.sh
|
|
)
|
|
travisFoldEnd "install-browserstack"
|
|
fi
|
|
|
|
# Print return arrows as a log separator
|
|
travisFoldReturnArrows
|