| 
									
										
										
										
											2017-05-23 11:36:02 +03:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # WARNING: FIREBASE_TOKEN should NOT be printed. | 
					
						
							|  |  |  | set +x -eu -o pipefail | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | readonly deployEnv=$1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | case $deployEnv in | 
					
						
							|  |  |  |   staging) | 
					
						
							| 
									
										
										
										
											2017-06-12 23:51:39 +01:00
										 |  |  |     readonly buildEnv=stage | 
					
						
							| 
									
										
										
										
											2017-05-23 11:36:02 +03:00
										 |  |  |     readonly projectId=aio-staging | 
					
						
							|  |  |  |     readonly deployedUrl=https://$projectId.firebaseapp.com/ | 
					
						
							|  |  |  |     readonly firebaseToken=$FIREBASE_TOKEN | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  |   production) | 
					
						
							| 
									
										
										
										
											2017-06-12 23:51:39 +01:00
										 |  |  |     readonly buildEnv=prod | 
					
						
							| 
									
										
										
										
											2017-05-23 11:36:02 +03:00
										 |  |  |     readonly projectId=angular-io | 
					
						
							|  |  |  |     readonly deployedUrl=https://angular.io/ | 
					
						
							|  |  |  |     readonly firebaseToken=$FIREBASE_TOKEN | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  |   *) | 
					
						
							|  |  |  |     echo "Unknown deployment environment ('$deployEnv'). Expected 'staging' or 'production'." | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ( | 
					
						
							|  |  |  |   cd "`dirname $0`/.." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Build the app | 
					
						
							| 
									
										
										
										
											2017-06-12 23:51:39 +01:00
										 |  |  |   yarn build -- --env=$buildEnv | 
					
						
							| 
									
										
										
										
											2017-05-23 11:36:02 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-16 16:25:42 -07:00
										 |  |  |   # Check payload size | 
					
						
							|  |  |  |   yarn payload-size | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-23 11:36:02 +03:00
										 |  |  |   # Deploy to Firebase | 
					
						
							|  |  |  |   firebase use "$projectId" --token "$firebaseToken" | 
					
						
							|  |  |  |   firebase deploy --message "Commit: $TRAVIS_COMMIT" --non-interactive --token "$firebaseToken" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Run PWA-score tests | 
					
						
							| 
									
										
										
										
											2017-06-30 12:09:53 +03:00
										 |  |  |   yarn test-pwa-score -- "$deployedUrl" "$MIN_PWA_SCORE" | 
					
						
							| 
									
										
										
										
											2017-05-23 11:36:02 +03:00
										 |  |  | ) |