| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  | set -u -e -o pipefail | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-07 11:04:30 -08:00
										 |  |  | TRAVIS=${TRAVIS:-} | 
					
						
							|  |  |  | CI_MODE=${CI_MODE:-} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | # Setup environment | 
					
						
							| 
									
										
										
										
											2017-03-05 01:49:10 -08:00
										 |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-22 06:59:50 +01:00
										 |  |  | if [[ ${CI_MODE} != "aio" && ${CI_MODE} != 'docs_test' ]]; then | 
					
						
							|  |  |  |   # Install version of npm that we are locked against | 
					
						
							|  |  |  |   travisFoldStart "install-npm" | 
					
						
							|  |  |  |     npm install -g npm@${NPM_VERSION} | 
					
						
							|  |  |  |   travisFoldEnd "install-npm" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-22 06:59:50 +01:00
										 |  |  |   # Install all npm dependencies according to shrinkwrap.json | 
					
						
							|  |  |  |   travisFoldStart "npm-install" | 
					
						
							|  |  |  |     node tools/npm/check-node-modules --purge || npm install | 
					
						
							|  |  |  |   travisFoldEnd "npm-install" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-28 11:57:44 +01:00
										 |  |  | if [[ ${TRAVIS} && (${CI_MODE} == "e2e" || ${CI_MODE} == "e2e_2" || ${CI_MODE} == "aio" || ${CI_MODE} == "aio_e2e" || ${CI_MODE} == "aio_tools_test") ]]; then | 
					
						
							| 
									
										
										
										
											2017-02-09 19:08:16 +02:00
										 |  |  |   # Install version of yarn that we are locked against | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldStart "install-yarn" | 
					
						
							|  |  |  |     curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version "${YARN_VERSION}" | 
					
						
							|  |  |  |   travisFoldEnd "install-yarn" | 
					
						
							| 
									
										
										
										
											2017-02-09 19:08:16 +02:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2017-01-25 19:39:01 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-28 11:57:44 +01:00
										 |  |  | if [[ ${TRAVIS} && (${CI_MODE} == "aio" || ${CI_MODE} == "aio_e2e" || ${CI_MODE} == "aio_tools_test") ]]; then | 
					
						
							| 
									
										
										
										
											2017-01-25 19:39:01 +02:00
										 |  |  |   # angular.io: Install all yarn dependencies according to angular.io/yarn.lock | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldStart "yarn-install.aio" | 
					
						
							| 
									
										
										
										
											2017-03-05 01:49:10 -08:00
										 |  |  |     ( | 
					
						
							|  |  |  |       cd ${PROJECT_ROOT}/aio | 
					
						
							|  |  |  |       yarn install | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldEnd "yarn-install.aio" | 
					
						
							| 
									
										
										
										
											2017-01-25 19:39:01 +02:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-20 09:40:40 -07:00
										 |  |  | # Install bazel | 
					
						
							|  |  |  | if [[ ${TRAVIS} && ${CI_MODE} == "bazel" ]]; then | 
					
						
							|  |  |  |   travisFoldStart "bazel-install" | 
					
						
							|  |  |  |   ( | 
					
						
							|  |  |  |     mkdir tmp | 
					
						
							|  |  |  |     cd tmp | 
					
						
							|  |  |  |     curl --location --compressed https://github.com/bazelbuild/bazel/releases/download/0.5.2/bazel-0.5.2-installer-linux-x86_64.sh > bazel-0.5.2-installer-linux-x86_64.sh | 
					
						
							|  |  |  |     chmod +x bazel-0.5.2-installer-linux-x86_64.sh | 
					
						
							|  |  |  |     ./bazel-0.5.2-installer-linux-x86_64.sh --user | 
					
						
							|  |  |  |     cd .. | 
					
						
							|  |  |  |     rm -rf tmp | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  |   travisFoldEnd "bazel-install" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2017-01-25 19:39:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-02 23:43:26 +01:00
										 |  |  | # Start xvfb for local Chrome testing | 
					
						
							|  |  |  | if [[ ${TRAVIS} && (${CI_MODE} == "js" || ${CI_MODE} == "e2e" || ${CI_MODE} == "e2e_2" || ${CI_MODE} == "aio" || ${CI_MODE} == "aio_e2e") ]]; then | 
					
						
							|  |  |  |   travisFoldStart "xvfb-start" | 
					
						
							|  |  |  |     sh -e /etc/init.d/xvfb start | 
					
						
							|  |  |  |   travisFoldEnd "xvfb-start" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2017-01-25 19:39:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Install Sauce Connect | 
					
						
							| 
									
										
										
										
											2016-05-09 16:47:26 -07:00
										 |  |  | if [[ ${TRAVIS}] && (${CI_MODE} == "saucelabs_required" || ${CI_MODE} == "saucelabs_optional") ]]; then | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldStart "install-sauceConnect" | 
					
						
							| 
									
										
										
										
											2017-03-05 01:49:10 -08:00
										 |  |  |     ( | 
					
						
							|  |  |  |       ${thisDir}/../sauce/sauce_connect_setup.sh | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldEnd "install-sauceConnect" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Install BrowserStack Tunnel | 
					
						
							| 
									
										
										
										
											2016-05-09 16:47:26 -07:00
										 |  |  | if [[ ${TRAVIS} && (${CI_MODE} == "browserstack_required" || ${CI_MODE} == "browserstack_optional") ]]; then | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldStart "install-browserstack" | 
					
						
							| 
									
										
										
										
											2017-03-05 01:49:10 -08:00
										 |  |  |     ( | 
					
						
							|  |  |  |       ${thisDir}/../browserstack/start_tunnel.sh | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldEnd "install-browserstack" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  | # Install Selenium WebDriver | 
					
						
							|  |  |  | travisFoldStart "webdriver-manager-update" | 
					
						
							|  |  |  |   $(npm bin)/webdriver-manager update | 
					
						
							|  |  |  | travisFoldEnd "webdriver-manager-update" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  | # Install bower packages | 
					
						
							|  |  |  | travisFoldStart "bower-install" | 
					
						
							|  |  |  |   $(npm bin)/bower install | 
					
						
							|  |  |  | travisFoldEnd "bower-install" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Print return arrows as a log separator | 
					
						
							|  |  |  | travisFoldReturnArrows |