Repository navigation
Conversation
|
|
|
You can preview f96d768 at https://pr39853-f96d768.ngbuilds.io/. |
re.angular.io to angular.io when no active RCrc.angular.io to angular.io when no active RC
f96d768 to
4256ba5
Compare
|
You can preview 4256ba5 at https://pr39853-4256ba5.ngbuilds.io/. |
petebacondarwin
left a comment
There was a problem hiding this comment.
I love love love the separate commits! This PR would have been a nightmare to review if it was all in one commit. Thank you for that.
A few minor comments but all in all LGTM.
Small typo (+query) for this commit message:
In fix(docs-infra): do not deploy as archive when major is not lower than stable
Typically, there will only be at most one minor branch
mostmore recent than
the stable one (and that branch will be the RC branch).
(or the master branch?)
There was a problem hiding this comment.
Because I believe there is a 62% chance in the future we will require to undo these modifications once deployed (for example, to deploy somewhere else). So, I am essentially keeping a backup to be able to restore the file later. In fact, there is an 11.2% chance a reviewer will request the clean-up be done in this PR 🤯
There was a problem hiding this comment.
And bck rather than bak?
There was a problem hiding this comment.
Ah, good question 😅
I didn't think about it. I guess, that is a personal "convention" (because many programs create .bak files, I use .bck to avoid messing with other programs).
I'll change it to .bak to avoid confusion.
4256ba5 to
cff57f5
Compare
|
You can preview cff57f5 at https://pr39853-cff57f5.ngbuilds.io/. |
…lower than stable Address review comment: angular#39853 (comment)
…lower than stable Address review comment: angular#39853 (comment)
… no active RC Currently there is an issue with redirecting `rc.angular.io` to `angular.io` when there is no active RC. If a user has visited `rc.angular.io` before and has a ServiceWorker registered for that subdomain, they will never "see" the redirect to `angular.io`. This commit fixes the problem by doing an additional deployment from the stable branch to the `rc-angular-io-site` Firebase site when there is no active RC. This additional deployment will ensure that: 1. Users will be temporarily redirected from `rc.angular.io` to `angular.io`. 2. Users with a registered ServiceWorker (who don't see the redirect) will have their ServiceWorker unregistered on the next visit. 3. The content on both sites is identical. See angular#39760 for more details on the problem and the solution. NOTE: As mentioned in angular#39760, for this fix to take affect, we need to remove the redirect from `rc.angular.io` to `angular.io` in the Firebase console for site `rc-angular-io-site`. Fixes angular#39760
…o` when no active RC
…scriptions Previously, test descriptions used `latest` to refer to the most recent/highest version. This was ambiguous, because `latest` can also refer to the stable version of a package (e.g. see `@latest` npm tag). This commit replaces `latest` with `highest` (or `highest for major`) to reduce ambiguity. Discussed in: angular#39853 (comment)
44c28d2 to
023529f
Compare
|
You can preview 023529f at https://pr39853-023529f.ngbuilds.io/. |
Previously, the `deploy-to-firebase.js` script would only perform one deployment operation on each run. This commit adds support for performing multiple deployment operations. NOTE: In a subsequent commit, this will be leveraged fix an issue with `rc.angular.io` redirects in the presence of a ServiceWorker by deploying the same artifacts to multiple Firebase projects/sites. See #39760 for more details. PR Close #39853
…ebase.spec.js` (#39853) Previously, the latest commit for branch may be computed multiple times in the `deploy-to-firebase.js` tests. This commit avoids the unnecessary re-computations by computing the latest commits for the necessary branches at the beginning and using the computed values throughout the tests. PR Close #39853
…han stable (#39853) Previously, a branch would be deployed as `archive` even if it had a major version that was equal/higher than that of the stable branch (as long as it was not the RC branch - i.e. not the most recent minor branch). For example, with `11.0.x` as the stable branch and `12.0.x` as the RC branch, `11.1.x` would be deployed as archive. Theoretically, we should never find ourselves in such a situation. Typically, there will only be at most one minor branch most recent than the stable one (and that branch will be the RC branch). However, it is possible under unusual circumstances. This commit adds additional checks to guard against this problem. It also refactors the code in preparation of fixing an issue with `rc.angular.io` redirects in the presence of a ServiceWorker, which will require identifying whether there is an active RC version or not. See #39760 for more details. PR Close #39853
… no active RC (#39853) Currently there is an issue with redirecting `rc.angular.io` to `angular.io` when there is no active RC. If a user has visited `rc.angular.io` before and has a ServiceWorker registered for that subdomain, they will never "see" the redirect to `angular.io`. This commit fixes the problem by doing an additional deployment from the stable branch to the `rc-angular-io-site` Firebase site when there is no active RC. This additional deployment will ensure that: 1. Users will be temporarily redirected from `rc.angular.io` to `angular.io`. 2. Users with a registered ServiceWorker (who don't see the redirect) will have their ServiceWorker unregistered on the next visit. 3. The content on both sites is identical. See #39760 for more details on the problem and the solution. NOTE: As mentioned in #39760, for this fix to take affect, we need to remove the redirect from `rc.angular.io` to `angular.io` in the Firebase console for site `rc-angular-io-site`. Fixes #39760 PR Close #39853
…scriptions (#39853) Previously, test descriptions used `latest` to refer to the most recent/highest version. This was ambiguous, because `latest` can also refer to the stable version of a package (e.g. see `@latest` npm tag). This commit replaces `latest` with `highest` (or `highest for major`) to reduce ambiguity. Discussed in: #39853 (comment) PR Close #39853
…ploy-to-firebase.js` (#39853) Previously, the `deploy()` function in `deploy-to-firebase.js` would also perform other operations (beyond deploying), such as building the app, checking the generated payload size, testing the PWA score of the deployed app. This commit decouples these operations, so that deploying can be performed independently. NOTE: In a subsequent commit, this will be leveraged fix an issue with `rc.angular.io` redirects in the presence of a ServiceWorker by deploying the same artifacts to multiple Firebase projects/sites. See #39760 for more details. PR Close #39853
Previously, the `deploy-to-firebase.js` script would only perform one deployment operation on each run. This commit adds support for performing multiple deployment operations. NOTE: In a subsequent commit, this will be leveraged fix an issue with `rc.angular.io` redirects in the presence of a ServiceWorker by deploying the same artifacts to multiple Firebase projects/sites. See #39760 for more details. PR Close #39853
…ebase.spec.js` (#39853) Previously, the latest commit for branch may be computed multiple times in the `deploy-to-firebase.js` tests. This commit avoids the unnecessary re-computations by computing the latest commits for the necessary branches at the beginning and using the computed values throughout the tests. PR Close #39853
…han stable (#39853) Previously, a branch would be deployed as `archive` even if it had a major version that was equal/higher than that of the stable branch (as long as it was not the RC branch - i.e. not the most recent minor branch). For example, with `11.0.x` as the stable branch and `12.0.x` as the RC branch, `11.1.x` would be deployed as archive. Theoretically, we should never find ourselves in such a situation. Typically, there will only be at most one minor branch most recent than the stable one (and that branch will be the RC branch). However, it is possible under unusual circumstances. This commit adds additional checks to guard against this problem. It also refactors the code in preparation of fixing an issue with `rc.angular.io` redirects in the presence of a ServiceWorker, which will require identifying whether there is an active RC version or not. See #39760 for more details. PR Close #39853
… no active RC (#39853) Currently there is an issue with redirecting `rc.angular.io` to `angular.io` when there is no active RC. If a user has visited `rc.angular.io` before and has a ServiceWorker registered for that subdomain, they will never "see" the redirect to `angular.io`. This commit fixes the problem by doing an additional deployment from the stable branch to the `rc-angular-io-site` Firebase site when there is no active RC. This additional deployment will ensure that: 1. Users will be temporarily redirected from `rc.angular.io` to `angular.io`. 2. Users with a registered ServiceWorker (who don't see the redirect) will have their ServiceWorker unregistered on the next visit. 3. The content on both sites is identical. See #39760 for more details on the problem and the solution. NOTE: As mentioned in #39760, for this fix to take affect, we need to remove the redirect from `rc.angular.io` to `angular.io` in the Firebase console for site `rc-angular-io-site`. Fixes #39760 PR Close #39853
…scriptions (#39853) Previously, test descriptions used `latest` to refer to the most recent/highest version. This was ambiguous, because `latest` can also refer to the stable version of a package (e.g. see `@latest` npm tag). This commit replaces `latest` with `highest` (or `highest for major`) to reduce ambiguity. Discussed in: #39853 (comment) PR Close #39853
Since angular#39853, it is possible to deploy to multiple Firebase sites from a single branch. In order to deploy to a site, we need to associate an alias (`aio`) with a site. This is done via the `firebase target:apply` command. However, when the command is called multiple times, it associates the alias with many sites, which subsequently fails during deployment ([example failure][1]), since the `firebase deploy` command does not know what site to deploy to. This commit fixes the deployment script by ensuring that any previous association with the `aio` alias is cleared (via the `firebase target:clear` command) before associating it with a new site. [1]: https://circleci.com/gh/angular/angular/871020
Since #39853, it is possible to deploy to multiple Firebase sites from a single branch. In order to deploy to a site, we need to associate an alias (`aio`) with a site. This is done via the `firebase target:apply` command. However, when the command is called multiple times, it associates the alias with many sites, which subsequently fails during deployment ([example failure][1]), since the `firebase deploy` command does not know what site to deploy to. This commit fixes the deployment script by ensuring that any previous association with the `aio` alias is cleared (via the `firebase target:clear` command) before associating it with a new site. [1]: https://circleci.com/gh/angular/angular/871020 PR Close #39948
Since #39853, it is possible to deploy to multiple Firebase sites from a single branch. In order to deploy to a site, we need to associate an alias (`aio`) with a site. This is done via the `firebase target:apply` command. However, when the command is called multiple times, it associates the alias with many sites, which subsequently fails during deployment ([example failure][1]), since the `firebase deploy` command does not know what site to deploy to. This commit fixes the deployment script by ensuring that any previous association with the `aio` alias is cleared (via the `firebase target:clear` command) before associating it with a new site. [1]: https://circleci.com/gh/angular/angular/871020 PR Close #39948
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Currently there is an issue with redirecting
rc.angular.iotoangular.iowhen there is no active RC. If a user has visitedrc.angular.iobefore and has a ServiceWorker registered for that subdomain, they will never "see" the redirect toangular.io.This PR fixes the problem by doing an additional deployment from the stable branch to the
rc-angular-io-siteFirebase site when there is no active RC. This additional deployment will ensure that:rc.angular.iotoangular.io.See #39760 for more details on the problem and the solution.
NOTE:
As mentioned in #39760, for this fix to take affect, we need to remove the redirect from
rc.angular.iotoangular.ioin the Firebase console for siterc-angular-io-site.Fixes #39760.
This PR also contains some other fixes and refactorings. See individual commits for more details.