Commit Graph

502 Commits

Author SHA1 Message Date
Joey Perrott e12a10256c ci: migrate snapshot publishing from CircleCI to GHA (#51957)
Migrate the snapshot publishing from CircleCI to GHA

PR Close #51957
2023-10-05 10:53:22 -07:00
Joey Perrott f93352481b ci: migrate saucelabs bazel job to Github Actions (#51945)
Use Github Actions to run saucelabs bazel jobs

PR Close #51945
2023-10-05 09:18:34 -07:00
Joey Perrott d91618f2d8 ci: migrate legacy saucelabs job to Github Actions (#51695)
Migrate the legacy saucelabs job

PR Close #51695
2023-09-13 10:49:47 -07:00
Joey Perrott 2d96dc27b7 ci: remove test job from circleci in favor of GHA (#51660)
Remove the `test` job from circleci

PR Close #51660
2023-09-05 18:06:49 +00:00
Joey Perrott 84ad5d9aa3 ci: remove publish_package_as_artifacts job from circleci (#51660)
Remove the job as it is no longer used.

PR Close #51660
2023-09-05 18:06:49 +00:00
Joey Perrott 0907f396d5 build: migrate to node 18 (#51609)
Migrate to use node version 18

PR Close #51609
2023-09-01 15:12:43 +00:00
Joey Perrott 2c11b83487 ci: migrate zonejs tests to gha (#51352)
Migreate zonejs tests from CircleCI to Github Actions

PR Close #51352
2023-08-30 19:42:55 +00:00
Joey Perrott 2a2b61b1ed ci: migrate monitoring jobs to GHA (#51350)
Migrate monitoring jobs to Github Actions from CircleCI

PR Close #51350
2023-08-30 19:41:53 +00:00
Joey Perrott 12dbe1a6cf ci: migrate aio jobs to GHA (#51071)
Migrate aio presubmit and deploy jobs to use Github Actions

PR Close #51071
2023-08-14 08:55:30 -07:00
Joey Perrott b07266d6a9 ci: migrate framework tests to GHA (#51101)
Migrate framework presubmit test job to use Github Actions

PR Close #51101
2023-08-09 17:36:23 -07:00
Joey Perrott e4ae634230 ci: remove migrated circleci jobs (#51194)
Remove test_angular_devtools and test_win jobs which were migrated to GHA

PR Close #51194
2023-07-28 14:43:03 -07:00
Joey Perrott 743be79749 ci: migrate windows job to GHA (#51010)
Migrate windows job to use Github Actions

PR Close #51010
2023-07-17 14:51:36 +00:00
Joey Perrott 5a5bcd2565 ci: migrate devtools tests to GHA (#51008)
Migrate devtools tests to run on Github Actions

PR Close #51008
2023-07-14 09:43:36 -07:00
Joey Perrott 6c76a83e31 ci: migrate lint job from CircleCI to GHA (#50891)
Migrate the lint job to Github Actions

PR Close #50891
2023-07-11 17:06:16 +00:00
Paul Gschwendtner 39935ee005 build: do not attempt deflaking locally (#50852)
We've recently marked the ngtsc test as flaky for the Windows
job. We should not attempt running tests 3 times locally. This
negatively impacts the debugging/developer workflow.

Instead, flaky test attempts can still be made on CI. Using the
default attempt count of 3.

PR Close #50852
2023-06-26 13:38:17 -07:00
Paul Gschwendtner 65845c925e ci: enable colors for bazel in CircleCi (#50720)
Enables colors for Bazel in CircleCI. Bazel does not seem to
detect color support properly, but CircleCI does support such.

Colors make debugging a little easier with larger Bazel logs.

PR Close #50720
2023-06-15 10:19:27 +02:00
Greg Magolan d0262cd0e4 build: don't run saucelabs tests yet on PRs... that will happen in a followup (#49200)
additional test to make linter happy

PR Close #49200
2023-05-15 09:21:46 -07:00
Greg Magolan 5a9059be38 build: share Saucelabs browsers between karma test targets using background Saucelabs daemon and custom karma launcher (#49200)
This upgrades the Saucelabs Bazel step on CI to use the more efficient Saucelabs daemon

PR Close #49200
2023-05-15 09:21:46 -07:00
Alan Agius f33abc805d ci: do not install Java in the test execturor (#49975)
Java is now only needed for `test_zonejs` as all closure related tests have been removed from the framework.

PR Close #49975
2023-04-24 09:57:23 -07:00
Andrew Kushnir b98ecbc0ce build: update minimum supported Node version from 16.13.0 -> 16.14.0 (#49771)
This commit updates the minimum supported Node version across packages from 16.13.0 -> 16.14.0 to ensure compatibility with dependencies.

PR Close #49771
2023-04-11 07:56:31 -07:00
Paul Gschwendtner 6db2fed403 ci: update github.com known host given recent RSA update (#49580)
See: https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/

PR Close #49580
2023-03-24 12:54:11 +00:00
Paul Gschwendtner f9b6a3fecc ci: attempt to fix node windows job flakiness (#49142)
Ocasionally Node is randomly not installed in the Windows job. We've
been trying to debug this for a while. With the additonal debug
information it looks like in some situations the NodeJS folder from
NVM is not even present.

One idea is to use `nvm on` to ensure NVM is actually enabled. It's
unclear why it would be `off` at VM start, but it's worth giving a try.

Trying `nvm off` via SSH yields similar issues as we saw in the flaky
workflows:
https://app.circleci.com/pipelines/github/angular/angular/56160/workflows/2f1b80b3-29c7-4274-804e-cb994c20aff0/jobs/1287228

PR Close #49142
2023-02-20 15:16:53 +00:00
Paul Gschwendtner c8be8fa79f ci: fix rbe initialization failing in windows job (#49142)
The RBE init script from dev-infra is using ES2020 but
the image NodeJS version does not support e.g. nullish coalescing.

PR Close #49142
2023-02-20 15:16:53 +00:00
Joey Perrott 8ba8e0dcff build: update to latest remote build execution setup (#49133)
Update to the latest RBE setup after key rotation.

PR Close #49133
2023-02-18 02:42:27 +00:00
Paul Gschwendtner 5d1fbbbf83 ci: fix snapshot publish github credential preparation (#48648)
It looks like the wrapping in `&> /dev/null` breaks for some reason.
We don't need it as CircleCI will remove secrets from logs if they
would leak for some reason.

A simple echo is very unlikely ever printing its content to
stdout/stderr though.

PR Close #48648
2023-01-05 16:44:01 +00:00
Paul Gschwendtner 90ac8e3a15 ci: use snapshot deploy secret directly (#48644)
Instead of encoding the GitHub snapshot robot access token
in a file that needs to be decoded by an ambiguously named
secret called `KEY`, the token can be directly stored in the
secrets of CircleCI given easier maintenance and the same risk.

The leakage of the secret still means the GitHub token file could
be decoded.

We are switching to a similar model as in the components repo, which
also simplifies key rotations etc.

PR Close #48644
2023-01-05 15:15:59 +00:00
Paul Gschwendtner 2992cb4194 ci: reset cache when patches change (#48521)
This will help making it easier to update patches when `node_modules`
are cached. Note that most of the time this shouldn't be necessary
as we only cache the Yarn `.cache` for the non-windows jobs. Windows
job caches `node_modules` directly- so could be affected and needs
a cache reset/wipe occasionally when patches change (even though it's
rarely). Long-term we can remove this when the esm patches are no longer
needed.

PR Close #48521
2022-12-19 19:50:45 +00:00
Paul Gschwendtner 5c10efe002 build: fix legacy saucelabs test bundle generation after ESM changes (#48521)
ZoneJS is no longer loaded as an UMD, but instead is included as part
of the browser init entry-point. This means that ZoneJS is bundled and
the ESBuild logic needs to be adjusted for that.

PR Close #48521
2022-12-19 19:50:44 +00:00
Paul Gschwendtner 5d2e461c3a build: remove components repo unit tests job (#48521)
After discussion initiated in the framework team (by kkostadinov),
the team has decided to not keeping the `components-repo-unit-tests`
job. This commit removes it.

PR Close #48521
2022-12-19 19:50:44 +00:00
Paul Gschwendtner cc5d3b75e2 refactor: update zone.js and tests to work with ESM (#48521)
* Adjusts tests to no longer rely on CommonJS features. Switches them to
  ESM
* Updates test initialization files to not double-initialize Jasmine now
  that bootstrap files are loaded after Jasmine. The `jasmine.boot`
  setup was hacky from `rules_nodejs` and will break in the future
  regardless if we e.g. use `rules_js` with actual unmodified `jasmine`.

PR Close #48521
2022-12-19 19:50:44 +00:00
Paul Gschwendtner 6b16df1954 build: remove docker-based AIO preview deploy setup (#48345)
The docker-based AIO preview deploy setup is replaced with
significantly simpler setup using GitHub actions provided by
dev-infra (also something dev-infra can maintain better then).

The actions under the hood leverage Firebase preview channels.

PR Close #48345
2022-12-05 14:52:37 -08:00
Paul Gschwendtner 0beeee4304 build: add more debug information for occasional windows flakiness (#48351)
Ocassionally the NodeJS version is not correct after NVM on Windows.
This adds some debug information that should help improve stability
here. A recent attempt to update the `$PATH` did not seem to help.

PR Close #48351
2022-12-05 12:04:05 -08:00
Derek Cormier d2dcf95467 build(bazel): set ci steps that build aio to 2xlarge+ (#48342)
These steps builds AIO which is memory intensive. Running out of memory
may be the cause of some ci flakiness. Change the executor size to test
this theory.

For context: The CLI process is randomly getting `Killed`, likely by the
linux OOM killer. The Angular CLI builds happen on the host machine- no RBE.

Without the Bazel migration they were previously already at ~63% peak RAM.
With Bazel's overhead and e.g. remote caching, it seems to hit 100%
(can be seen in CircleCI machine insights). OOM killer may then choose the
highest consuming task. i.e. the Angular CLI and kill it.

Angular CLI build ram consumption is proportional to the size of the app. AIO is not small

https://app.circleci.com/pipelines/github/angular/angular/53992/workflows/ec47e3d8-2e7d-45b8-a802-7ec8ec4026c4/jobs/1265666/parallel-runs/0/steps/0-106

https://angular-team.slack.com/archives/C02PARQNMC1/p1670067910332809i

PR Close #48342
2022-12-05 11:40:56 +00:00
Paul Gschwendtner 2352c2f143 build: attempt to avoid nodejs version flakiness in test_win job (#48326)
The `test_win` job is occasionally failing where a super old NodeJS
version is used even though we installed a proper one with `nvm`.

It's unclear how the CircleCI windows VMs differ here, it's coming
up rarely and is hard to reproduce when SSH-ing into VMs. Our best
guess is that the existing NodeJS version from the container/image is
super old and somehow takes precedence over the NVM-managed NodeJS
version. This could happen due to bad ordering in the `$PATH`
environment variable, or NVM not properly being wired up there.

We attempt to fix this by always setting `$PATH` to the NVM symlink
directory manually- with highest priority.

PR Close #48326
2022-12-02 14:55:55 -08:00
Paul Gschwendtner b53e1ed4ef build: enable progress messages for Bazel in CircleCI (#48316)
Bazel otherwise may almost look as being stuck when it performs
many slow e2e tests. We should show what is running, even it results
in a little more output in the logs.

PR Close #48316
2022-12-02 08:57:44 -08:00
Derek Cormier 903917b13d build(bazel): remaining AIO Bazel migration fixes 2022-11-22 13:51:16 -07:00
Derek Cormier 6cc3256018 build(bazel): fix linking of local angular packages
Npm angular deps were transitively being included, confusing the
rules_nodejs linker.
2022-11-22 13:51:16 -07:00
Derek Cormier e1cc2e14b4 build(bazel): test aio pwa score under bazel
Refactored the a11y score tests to share the pattern of running an http
server alongside a test script.
2022-11-22 13:51:16 -07:00
Derek Cormier 9752d2d72b build(bazel): run aio a11y tests under bazel
Wrap existsing scripts under bazel and write a new script
to spin up an http server on an unused port.
2022-11-22 13:51:16 -07:00
Derek Cormier 3288868217 build(bazel): run aio firebase redirect tests under bazel
Adjust to run under ci.
2022-11-22 13:51:16 -07:00
Derek Cormier 8775a745ad build(bazel): fix some aio linting errors
Surfaced by modifying ci to include aio targets
2022-11-22 13:51:16 -07:00
Derek Cormier 50dee93f35 build(bazel): add aio targets to ci
This is a first pass. There is more work to do on package.json, adding
more test targets under bazel, and revising documentation.
2022-11-22 13:51:16 -07:00
Alan Agius 1b9fd46d14 feat(core): add support for Node.js version 18 (#47730)
This change aligns with the supported Node.js versions of the Angular CLI.
See: https://github.com/angular/angular-cli/pull/24026

BREAKING CHANGE: Angular no longer supports Node.js versions `14.[15-19].x` and `16.[10-12].x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`.

PR Close #47730
2022-10-11 17:21:19 +00:00
Dylan Hunn 96b7fe93af fix(forms): call setDisabledState on ControlValueAcessor when control is enabled (#47576)
Previously, `setDisabledState` was never called when attached if the control is enabled. This PR fixes the bug, and creates a configuration option to opt-out of the fix.

Fixes #35309.

BREAKING CHANGE: setDisabledState will always be called when a `ControlValueAccessor` is attached. You can opt-out with `FormsModule.withConfig` or `ReactiveFormsModule.withConfig`.

PR Close #47576
2022-10-11 16:03:01 +00:00
Kristiyan Kostadinov ed11a13c3c feat(core): drop support for TypeScript 4.6 and 4.7 (#47690)
Updates the version range in the compiler to require at least TypeScript 4.8. Note that I'm keeping the backwards-compatibility layer for 4.7 around for now until internal projects have been migrated to 4.8.

BREAKING CHANGE:
TypeScript versions older than 4.8 are no longer supported.

PR Close #47690
2022-10-10 16:18:56 +00:00
Paul Gschwendtner 739e689630 build: setup remote execution through shared command (#47537)
Sets up remote execution through a shared command.

PR Close #47537
2022-10-07 09:31:30 -07:00
Paul Gschwendtner ec1105dd71 build: use shared circleci dev-infra for common circleci code (#47467)
This allows us to remove the duplicated `rebase-pr.js` script so that we can maintain this script in a single place.

PR Close #47467
2022-09-29 15:53:40 -07:00
Paul Gschwendtner 7ee1927c76 build: invalidate circleci cache to prune unused nested node modules (#47240)
Yarn 1.x has a bug where it keeps nested unused node modules and doesn't
delete them automatically. This throws off Bazel in some scenarios when
the lock file is updated. This commit invalidates the cache to get a
fresh clean node modules cache without any unused nested directories.

PR Close #47240
2022-08-24 11:04:18 -07:00
Andrew Kushnir 213f57cb3d refactor(common): various NgOptimizedImage directive updates (#47082)
This commit contains a set of small changes based on the feedback received in https://github.com/angular/angular/pull/47082.

PR Close #47082
2022-08-16 17:36:54 +00:00
Paul Gschwendtner 79ba2b605f ci: temporarily publish snapshots for image-directive branch (#47082)
This commit enables publishing of snapshots for the `image-directive`
feature branch. The artifacts can be accessed with the following steps:

1. Land your change in `image-directive`
2. Go to the corresponding snapshot repo (e.g. `angular/common-builds`)
3. Go to the `image-directive` branch
4. Copy the SHA of the latest commit in that branch
5. Use that SHA to install via NPM. e.g.
   `https://github.com/angular/common-builds.git#SHA`.

PR Close #47082
2022-08-16 17:36:52 +00:00