| 
									
										
										
										
											2017-01-27 09:17:50 -08:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-23 11:46:02 -07:00
										 |  |  | set -u -e -o pipefail | 
					
						
							| 
									
										
										
										
											2017-01-27 09:17:50 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  | # see https://circleci.com/docs/2.0/env-vars/#circleci-built-in-environment-variables | 
					
						
							|  |  |  | CI=${CI:-false} | 
					
						
							| 
									
										
										
										
											2018-02-27 17:06:06 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  | cd "$(dirname "$0")" | 
					
						
							| 
									
										
										
										
											2017-01-27 09:17:50 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  | # basedir is the workspace root | 
					
						
							|  |  |  | readonly basedir=$(pwd)/.. | 
					
						
							| 
									
										
										
										
											2017-11-18 12:26:33 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 15:18:55 -07:00
										 |  |  | # Track payload size functions | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  | if $CI; then | 
					
						
							| 
									
										
										
										
											2018-03-20 12:34:27 -07:00
										 |  |  |   # We don't install this by default because it contains some broken Bazel setup | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  |   # and also it's a very big dependency that we never use except when publishing | 
					
						
							|  |  |  |   # payload sizes on CI. | 
					
						
							| 
									
										
										
										
											2018-04-23 11:46:02 -07:00
										 |  |  |   yarn add --silent -D firebase-tools@3.12.0 | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  |   source ${basedir}/scripts/ci/payload-size.sh | 
					
						
							| 
									
										
										
										
											2018-04-23 11:46:02 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # NB: we don't run build-packages-dist.sh because we expect that it was done | 
					
						
							|  |  |  |   # by an earlier job in the CircleCI workflow. | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   # Not on CircleCI so let's build the packages-dist directory. | 
					
						
							|  |  |  |   # This should be fast on incremental re-build. | 
					
						
							|  |  |  |   ${basedir}/scripts/build-packages-dist.sh | 
					
						
							| 
									
										
										
										
											2018-03-20 12:34:27 -07:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2017-08-03 15:18:55 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-10 16:23:44 -08:00
										 |  |  | # Workaround https://github.com/yarnpkg/yarn/issues/2165 | 
					
						
							|  |  |  | # Yarn will cache file://dist URIs and not update Angular code | 
					
						
							|  |  |  | readonly cache=.yarn_local_cache | 
					
						
							|  |  |  | function rm_cache { | 
					
						
							|  |  |  |   rm -rf $cache | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | rm_cache | 
					
						
							|  |  |  | mkdir $cache | 
					
						
							|  |  |  | trap rm_cache EXIT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-05 16:01:28 -07:00
										 |  |  | for testDir in $(ls | grep -v node_modules) ; do | 
					
						
							| 
									
										
										
										
											2017-01-27 09:17:50 -08:00
										 |  |  |   [[ -d "$testDir" ]] || continue | 
					
						
							|  |  |  |   echo "#################################" | 
					
						
							|  |  |  |   echo "Running integration test $testDir" | 
					
						
							|  |  |  |   echo "#################################" | 
					
						
							|  |  |  |   ( | 
					
						
							|  |  |  |     cd $testDir | 
					
						
							| 
									
										
										
										
											2017-08-03 15:18:55 -07:00
										 |  |  |     rm -rf dist | 
					
						
							| 
									
										
										
										
											2018-04-23 11:46:02 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-10 16:23:44 -08:00
										 |  |  |     yarn install --cache-folder ../$cache | 
					
						
							| 
									
										
										
										
											2017-02-09 19:08:16 +02:00
										 |  |  |     yarn test || exit 1 | 
					
						
							| 
									
										
										
										
											2018-01-25 16:43:29 -08:00
										 |  |  |     # Track payload size for cli-hello-world and hello_world__closure and the render3 tests | 
					
						
							|  |  |  |     if [[ $testDir == cli-hello-world ]] || [[ $testDir == hello_world__closure ]] || [[ $testDir == hello_world__render3__closure ]] || [[ $testDir == hello_world__render3__rollup ]] || [[ $testDir == hello_world__render3__cli ]]; then | 
					
						
							|  |  |  |       if [[ $testDir == cli-hello-world ]] || [[ $testDir == hello_world__render3__cli ]]; then | 
					
						
							| 
									
										
										
										
											2017-08-03 15:18:55 -07:00
										 |  |  |         yarn build | 
					
						
							|  |  |  |       fi | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  |       #if $CI; then | 
					
						
							|  |  |  |       #  trackPayloadSize "$testDir" "dist/*.js" true false "${basedir}/integration/_payload-limits.json" | 
					
						
							|  |  |  |       #fi | 
					
						
							| 
									
										
										
										
											2018-01-25 16:43:29 -08:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  |     # remove the temporary node modules directory to keep the source folder clean. | 
					
						
							|  |  |  |     rm -rf node_modules | 
					
						
							| 
									
										
										
										
											2017-01-27 09:17:50 -08:00
										 |  |  |   ) | 
					
						
							|  |  |  | done | 
					
						
							| 
									
										
										
										
											2017-08-03 15:18:55 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-15 15:36:11 -07:00
										 |  |  | #if $CI; then | 
					
						
							|  |  |  | #  trackPayloadSize "umd" "../dist/packages-dist/*/bundles/*.umd.min.js" false false | 
					
						
							|  |  |  | #fi |