| 
									
										
										
										
											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} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Install version of npm that we are locked against | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  | travisFoldStart "install-npm" | 
					
						
							|  |  |  |   npm install -g npm@${NPM_VERSION} | 
					
						
							|  |  |  | travisFoldEnd "install-npm" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Install all npm dependencies according to shrinkwrap.json | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  | travisFoldStart "npm-install" | 
					
						
							|  |  |  |   node tools/npm/check-node-modules --purge || npm install | 
					
						
							|  |  |  | travisFoldEnd "npm-install" | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-13 22:35:13 +01:00
										 |  |  | if [[ ${TRAVIS} && (${CI_MODE} == "e2e" || ${CI_MODE} == "e2e_2" || ${CI_MODE} == "aio" || ${CI_MODE} == "aio_e2e" || ${CI_MODE} == "docs_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-04-13 22:35:13 +01:00
										 |  |  | if [[ ${TRAVIS} && (${CI_MODE} == "aio" || ${CI_MODE} == "aio_e2e" || ${CI_MODE} == "docs_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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | # Install Chromium | 
					
						
							| 
									
										
										
										
											2017-04-13 22:35:13 +01:00
										 |  |  | if [[ ${CI_MODE} == "js" || ${CI_MODE} == "e2e" || ${CI_MODE} == "e2e_2" || ${CI_MODE} == "aio" || ${CI_MODE} == "aio_e2e" ]]; then | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldStart "install-chromium" | 
					
						
							| 
									
										
										
										
											2017-03-05 01:49:10 -08:00
										 |  |  |     ( | 
					
						
							|  |  |  |       ${thisDir}/install-chromium.sh | 
					
						
							| 
									
										
										
										
											2017-05-12 11:08:45 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |       # 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 | 
					
						
							| 
									
										
										
										
											2017-03-05 01:49:10 -08:00
										 |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-03-02 00:22:24 -08:00
										 |  |  |   travisFoldEnd "install-chromium" | 
					
						
							| 
									
										
										
										
											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 |