diff --git a/aio/firebase.json b/aio/firebase.json index 752e81bde2..5a8970eef8 100644 --- a/aio/firebase.json +++ b/aio/firebase.json @@ -1,5 +1,6 @@ { "hosting": { + "target": "aio", "public": "dist", "cleanUrls": true, "redirects": [ diff --git a/aio/scripts/deploy-to-firebase.sh b/aio/scripts/deploy-to-firebase.sh index dd025e2b78..a6d7ca38a3 100755 --- a/aio/scripts/deploy-to-firebase.sh +++ b/aio/scripts/deploy-to-firebase.sh @@ -33,7 +33,7 @@ else readonly majorVersionStable=${CI_STABLE_BRANCH%%.*} # Do not deploy if the major version is not less than the stable branch major version - if [[ !( "$majorVersion" -lt "$majorVersionStable" ) ]]; then + if (( $majorVersion >= $majorVersionStable )); then echo "Skipping deploy of branch \"$CI_BRANCH\" to firebase." echo "We only deploy archive branches with the major version less than the stable branch: \"$CI_STABLE_BRANCH\"" exit 0 @@ -105,9 +105,20 @@ fi # Check payload size yarn payload-size + # Deploy to Firebase - yarn firebase use "$projectId" --token "$firebaseToken" - yarn firebase deploy --message "Commit: $CI_COMMIT" --non-interactive --token "$firebaseToken" + + # Special case v9-angular-io because its piloting the firebase hosting "multisites" setup + # See https://angular-team.atlassian.net/browse/DEV-125 for more info. + if [[ "$projectId" == "v9-angular-io" ]]; then + yarn firebase use aio-staging --token "$firebaseToken" + yarn firebase target:apply hosting aio $projectId --token "$firebaseToken" + yarn firebase deploy --only hosting:aio --message "Commit: $CI_COMMIT" --non-interactive --token "$firebaseToken" + elif + yarn firebase use "$projectId" --token "$firebaseToken" + yarn firebase deploy --message "Commit: $CI_COMMIT" --non-interactive --token "$firebaseToken" + fi + # Run PWA-score tests yarn test-pwa-score "$deployedUrl" "$CI_AIO_MIN_PWA_SCORE" diff --git a/aio/scripts/deploy-to-firebase.test.sh b/aio/scripts/deploy-to-firebase.test.sh index 575cab280d..37b4e3d832 100755 --- a/aio/scripts/deploy-to-firebase.test.sh +++ b/aio/scripts/deploy-to-firebase.test.sh @@ -143,6 +143,31 @@ Deployment URL : https://v2.angular.io/" check "$actual" "$expected" ) +( + echo ===== archive - v9-angular-io multisite special case - deploy success + actual=$( + export BASH_ENV=/dev/null + export CI_REPO_OWNER=angular + export CI_REPO_NAME=angular + export CI_PULL_REQUEST=false + export CI_BRANCH=9.1.x + export CI_STABLE_BRANCH=10.0.x + export CI_COMMIT=$(git ls-remote origin 9.1.x | cut -c1-40) + export CI_SECRET_AIO_DEPLOY_FIREBASE_TOKEN=XXXXX + $deployToFirebaseDryRun + ) + expected="Git branch : 9.1.x +Build/deploy mode : archive +Firebase project : v9-angular-io +Deployment URL : https://v9.angular.io/" + # TODO: This test incorrectly expects the Firebase project to be v9-angular-io. + # v9-angular-io is a "multisites" project currently within the aio-staging project + # This setup is temporary and was created in order to deploy v9.angular.io without + # disruptions. + # See https://angular-team.atlassian.net/browse/DEV-125 for more info. + check "$actual" "$expected" +) + ( echo ===== archive - skip deploy - commit not HEAD actual=$(