diff --git a/scripts/ci/travis-deploy.sh b/scripts/ci/travis-deploy.sh index 4a3af4c6456b..1dad3036eb1f 100755 --- a/scripts/ci/travis-deploy.sh +++ b/scripts/ci/travis-deploy.sh @@ -30,7 +30,7 @@ if [[ "${DEPLOY_MODE}" == "docs-content" ]]; then fi if [[ "${DEPLOY_MODE}" == "screenshot-tool" ]]; then - ./scripts/deploy/deploy-screenshot-functions.sh + ./scripts/deploy/deploy-screenshot-tool.sh fi if [[ "${DEPLOY_MODE}" == "dashboard" ]]; then diff --git a/scripts/deploy/deploy-screenshot-functions.sh b/scripts/deploy/deploy-screenshot-tool.sh similarity index 57% rename from scripts/deploy/deploy-screenshot-functions.sh rename to scripts/deploy/deploy-screenshot-tool.sh index cfd4f520ca96..06e60d7b180e 100755 --- a/scripts/deploy/deploy-screenshot-functions.sh +++ b/scripts/deploy/deploy-screenshot-tool.sh @@ -3,8 +3,8 @@ # The script should immediately exit if any command in the script fails. set -e -# This script deploys the Cloud Functions of the screenshot tool to Firebase. -# Before deploying, the script installs all dependencies of the functions. +# This script deploys the Screenshot Tool and their Cloud Functions to Firebase. +# Before deploying, the script installs all dependencies of the functions and builds the app. # Go to the project root directory cd $(dirname ${0})/../.. @@ -24,10 +24,18 @@ firebaseBin=$(npm bin)/firebase # Go to the screenshot-test folder because otherwise Firebase tries to deploy the wrong project. cd ${screenshotToolFolder} -# Install node modules for the screenshot functions. Firebase CLI needs to execute the functions +# Install node_modules for the application and afterwards build the application in production. +(npm install; $(npm bin)/ng build --aot -prod) & + +# Install node modules for screenshot-tool functions. Firebase CLI needs to execute the functions # to collect all function names before it can deploy them. -(cd functions; npm install) +(cd functions; npm install) & + +# The screenshot application is being built asynchronously. Also the dependencies for the +# Cloud Functions are built asynchronously. This means that the script needs to wait for all +# async tasks to finish before proceeding. +wait -# Deploy the screenshot application and functions to Firebase +# Deploy the screenshot application and their functions to Firebase ${firebaseBin} deploy --token ${MATERIAL2_SCREENSHOT_FIREBASE_DEPLOY_TOKEN} --non-interactive \ --project material2-screenshots