Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
213 commits
Select commit Hold shift + click to select a range
a8bd8f7
fix(@schematics/angular): flag '--file-name-style-guide=2016' - wrong…
pawelfras Nov 18, 2025
41c6798
docs: release notes for the v21.0.0-rc.6 release
dgp1130 Nov 18, 2025
3aa51b6
docs: release notes for the v20.3.11 release
dgp1130 Nov 19, 2025
8dd05c1
docs: release notes for the v21.0.0 release
dgp1130 Nov 19, 2025
89f9c8a
ci: relocate license check to prevent blocking other CI jobs
alan-agius4 Nov 19, 2025
240d96c
refactor: source best practices from `@angular/core`
alan-agius4 Nov 18, 2025
1ac5b1d
test: delete e2e directories after tests finish
alan-agius4 Nov 17, 2025
93da64e
Revert "ci: bump specs for e2e-package-managers"
alan-agius4 Nov 17, 2025
8335187
build: clean up verdaccio storage and share storage
alan-agius4 Nov 19, 2025
08f88eb
refactor(@schematics/angular): use the new X link
bampakoa Nov 17, 2025
f72e8da
test: improve vitest e2e test stability and performance
alan-agius4 Nov 18, 2025
cb8dea8
test: refactor vitest include e2e test
alan-agius4 Nov 18, 2025
d5b4d03
fix(@angular/build): normalize `--include` paths to posix
alan-agius4 Nov 18, 2025
76ed178
ci: add bun package manager to e2e tests
alan-agius4 Nov 19, 2025
dd99abc
refactor(@angular/build): optimize Vitest in-memory plugin resolveId
clydin Nov 18, 2025
09e5e32
refactor(@angular/build): optimize vitest in-memory file loading
clydin Nov 18, 2025
6009030
fix(@angular/cli): ensure dependencies are resolved correctly for nod…
clydin Nov 18, 2025
38743d9
fix(@angular/build): correctly invoke `isTTY` as a function
alan-agius4 Nov 19, 2025
dfe021b
build: remove `build-schema` script
alan-agius4 Nov 19, 2025
60e04ab
refactor(@angular/cli): consistent casing for onpush zoneless migrati…
cexbrayat Nov 19, 2025
9982091
docs: update release docs to cover bumping dev dependencies, which is…
dgp1130 Nov 19, 2025
4e6ba7c
build: update bazel dependencies
angular-robot Nov 19, 2025
c73363c
build: update all non-major dependencies
angular-robot Nov 19, 2025
c9597b9
build: update dependency @eslint/compat to v2
angular-robot Nov 17, 2025
3ceff5b
build: update dependency open to v11
angular-robot Nov 17, 2025
3020b50
fix(@angular/build): correct Vitest coverage path resolution for JSDO…
clydin Nov 19, 2025
b10ee0f
build: update cross-repo angular dependencies
angular-robot Nov 20, 2025
f9de11d
build: update to latest ng-dev tooling for caretaker handoff update
josephperrott Nov 19, 2025
439c463
build: add README.md to the SSR `ng_package`
alan-agius4 Nov 20, 2025
0fe572e
fix(@angular/build): ensure correct URL joining for prerender routes
alan-agius4 Nov 20, 2025
f38fade
fix(@schematics/angular): add mock names to createSpyObj transformation
clydin Nov 19, 2025
2b99ce5
fix(@schematics/angular): improve safety of done callback transformation
clydin Nov 19, 2025
7c6a643
fix(@schematics/angular): warn about loose matching in arrayWithExact…
clydin Nov 19, 2025
a71411f
fix(@angular/build): correctly configure per-browser headless mode in…
clydin Nov 19, 2025
2671945
refactor: modernize array and string last element access using `.at(-1)`
alan-agius4 Nov 20, 2025
a525c93
fix(@schematics/angular): support testRunner option in library schematic
alan-agius4 Nov 20, 2025
cc66824
refactor: replace string literals with TestRunner enum for test runne…
alan-agius4 Nov 20, 2025
e288076
refactor: streamline test runner dependency management using array ma…
alan-agius4 Nov 20, 2025
d134fa1
build: update cross-repo angular dependencies
angular-robot Nov 20, 2025
61a027d
fix(@angular/ssr): prevent redirect loop with encoded query parameters
alan-agius4 Nov 20, 2025
53012c8
fix(@angular/build): force dev-server to use HTTP/1.1 when using SSR …
alan-agius4 Nov 21, 2025
18cf6c5
fix(@schematics/angular): add MCP configuration file to new workspaces
alessiopelliccione Nov 20, 2025
50d9c0e
fix(@schematics/angular): do not set `esModuleInterop` and `moduleRes…
Deku-nattsu Nov 21, 2025
907d58c
build: update cross-repo angular dependencies
angular-robot Nov 21, 2025
393ee41
build: update all github actions
angular-robot Nov 21, 2025
848d98b
build: update all non-major dependencies
angular-robot Nov 21, 2025
59319b8
build: update bazel dependencies
angular-robot Nov 21, 2025
4dac5f2
fix(@angular/ssr): handle `X-Forwarded-Prefix` and `APP_BASE_HREF` in…
alan-agius4 Nov 21, 2025
89a6cae
refactor: simplify dynamic import type assertions and remove resoluti…
alan-agius4 Nov 24, 2025
cacd5d9
fix(@schematics/angular): silently skip when the build target already…
Deku-nattsu Nov 21, 2025
99a4026
build: update actions/checkout action to v6
angular-robot Nov 24, 2025
48d942a
build: update pnpm to v10.23.0
angular-robot Nov 24, 2025
43d5dfa
fix(@schematics/angular): add missing imports for lifecycle hooks in …
cexbrayat Nov 22, 2025
30bbe87
build: update cross-repo angular dependencies
angular-robot Nov 24, 2025
98636b2
refactor(@angular/build): update private exports to expose Diagnostic…
Deku-nattsu Nov 21, 2025
32da5a8
fix(@schematics/angular): fix migration of `jasmine.clock().mockDate()`
jnizet Nov 22, 2025
ff519b8
docs: mention Vitest instead of Karma in README template of workspace…
reins-ch Nov 21, 2025
36cf3af
feat(@schematics/angular): add browserMode option to jasmine-vitest s…
jnizet Nov 22, 2025
a562676
build: update all non-major dependencies
angular-robot Nov 24, 2025
0b43968
docs: release notes for the v20.3.12 release
alan-agius4 Nov 25, 2025
5ef8b99
fix(@schematics/angular): handle createSpyObj without base name on re…
jase88 Nov 25, 2025
212ebde
refactor(@angular/cli): parallelize MCP zoneless migration file disco…
clydin Nov 24, 2025
3c59df2
build: update dependency zone.js to ~0.16.0
angular-robot Nov 25, 2025
fdac4cb
build: update cross-repo angular dependencies
angular-robot Nov 26, 2025
1f3387a
build: update github/codeql-action action to v4.31.5
angular-robot Nov 26, 2025
89e8171
build: update Angular framework and ng-packagr versions and peer depe…
alan-agius4 Nov 26, 2025
0fd1646
refactor(@angular/build): adjust compiler-cli namespace import
clydin Nov 25, 2025
30f49c4
build: update all non-major dependencies
angular-robot Nov 26, 2025
91d364e
build: lock file maintenance
angular-robot Nov 26, 2025
df3135e
build: update cross-repo angular dependencies
angular-robot Nov 26, 2025
0d711ff
docs: release notes for the v21.0.1 release
clydin Nov 26, 2025
aeb3b3e
release: cut the v21.1.0-next.0 release
clydin Nov 26, 2025
e71a72f
feat(@schematics/angular): generate detailed migration report for `re…
clydin Nov 19, 2025
47ace2a
refactor(@angular/cli): modularize `find_examples` MCP tool
clydin Nov 24, 2025
dabe101
refactor(@angular/cli): add generic package manifest resolver
clydin Nov 25, 2025
98b5d7a
build: update pnpm to v10.24.0
angular-robot Dec 1, 2025
243a827
build: update rules_angular digest to 9409450
angular-robot Dec 1, 2025
331373f
build: update dependency chokidar to v5
angular-robot Nov 28, 2025
cfe62f2
build: update @modelcontextprotocol/sdk to v1.23.0
clydin Dec 1, 2025
d635a6c
feat(@angular/cli): add signal forms lessons
devchas Nov 24, 2025
0d6db86
build: update cross-repo angular dependencies
angular-robot Dec 1, 2025
2d0e105
build: update all non-major dependencies
angular-robot Dec 1, 2025
98e10fa
fix(@angular-devkit/schematics): remove lazy imports in node tasks
alan-agius4 Dec 1, 2025
63c3e3f
fix(@angular/build): add filename truncation to test discovery
clydin Dec 1, 2025
8d8ba4f
fix(@angular/build): allow overriding Vitest coverage `reportsDirecto…
clydin Dec 1, 2025
6b3d798
refactor(@angular/cli): introduce Host abstraction for `find_examples…
clydin Nov 24, 2025
1c154aa
build: lock file maintenance
angular-robot Dec 2, 2025
5465262
build: use native ESM and improve templates script performance
clydin Dec 2, 2025
281c69e
test: migrate e2e test runner to Node.js styleText API
clydin Dec 3, 2025
2a2a258
build: update cross-repo angular dependencies
josephperrott Dec 3, 2025
848fb97
test: enable two lint rules that are now passing
clydin Dec 2, 2025
4187162
build: update bazel dependencies
angular-robot Dec 3, 2025
7eef976
build: update schematics dependencies to ~5.13.0
angular-robot Dec 3, 2025
780e36c
build: remove repo root usage of `ansi-colors`
clydin Dec 3, 2025
c0ebc40
test: remove several unused eslint disable directives
clydin Dec 3, 2025
b1bce75
build: update all github actions
angular-robot Dec 3, 2025
87ac284
docs: release notes for the v20.3.13 release
alan-agius4 Dec 3, 2025
fe631c0
build: update all non-major dependencies
angular-robot Dec 3, 2025
ca0b8e5
docs: release notes for the v21.0.2 release
alan-agius4 Dec 3, 2025
5dc3b64
release: cut the v21.1.0-next.1 release
alan-agius4 Dec 3, 2025
816b3d2
test: migrate tar extraction to `tar-stream` for E2E setup
clydin Dec 3, 2025
ec19c26
build: remove repo root usage of `yargs-parser`
clydin Dec 3, 2025
51055fb
build: use rules_angular to build MCP find examples tool database
clydin Dec 1, 2025
d8b76e9
fix(@angular/cli): correctly handle yarn classic tag manifest fetching
clydin Dec 2, 2025
69b2be8
refactor(@angular/cli): implement structured error handling in packag…
clydin Dec 3, 2025
42629c0
refactor(@angular/cli): migrate `ng add` to new package manager abstr…
clydin Oct 20, 2025
240588b
perf(@angular/cli): optimize `ng add` version discovery
clydin Oct 20, 2025
0e071cb
refactor(@angular/cli): adjust bun's manifest field formatter
clydin Dec 2, 2025
88102f7
test(@angular/cli): create `.yarnrc` for E2E registry tests with Yarn…
clydin Dec 4, 2025
fa0ddc5
test(@angular/cli): correct unscoped auth E2E test logic
clydin Dec 4, 2025
7ab5c0b
fix(@angular/cli): correctly spawn package managers on Windows in new…
clydin Dec 5, 2025
39c7d2b
build: update bazel dependencies
angular-robot Dec 5, 2025
668c04c
build: update cross-repo angular dependencies
angular-robot Dec 4, 2025
9033d94
ci: force dev server host to IPv4 to resolve RBE resolution issues
alan-agius4 Dec 5, 2025
7038ea1
build: update all non-major dependencies
alan-agius4 Dec 5, 2025
9d48693
Revert "ci: force dev server host to IPv4 to resolve RBE resolution i…
alan-agius4 Dec 5, 2025
588f3b8
ci: force ipv4 resolutions first in Node.js
alan-agius4 Dec 5, 2025
0cc102e
test: enhance `findFreePort` E2E utility reliability and clarity
clydin Dec 5, 2025
38b16ea
fix(@angular/build): ensure locale base href retains leading slash (#…
alan-agius4 Dec 5, 2025
385165c
fix(@angular/build): inject testing polyfills in Karma unit-test exec…
clydin Dec 5, 2025
985aa18
fix(@angular-devkit/build-angular): conditionally provide Zone.js cha…
alan-agius4 Dec 5, 2025
78f9013
test: remove RxJS from E2E process utility
clydin Dec 5, 2025
9a8ea6b
build: simplify format configuration and update ng-dev dependency
alan-agius4 Dec 5, 2025
9d6891f
refactor(@angular/cli): split update command into smaller modules
clydin Dec 6, 2025
6d21220
fix(@angular/build): support NODE_EXTRA_CA_CERTS in SSR SSL plugin
alan-agius4 Dec 8, 2025
cca0642
build: remove unneeded root `listr2` dependency
clydin Dec 8, 2025
427c3a9
refactor(@angular/cli): rename devserver MCP tools to be more consistent
amishne Nov 13, 2025
2563165
refactor(@angular/cli): Update MCP tools to use host from context
amishne Dec 3, 2025
f184d72
refactor(@angular/cli): Rename devserver MCP tools to use slashes for…
amishne Dec 3, 2025
c47e991
build: update all non-major dependencies
angular-robot Dec 8, 2025
d680b80
build: update rules_angular digest to 7133b97
angular-robot Dec 8, 2025
62dc12b
test: remove webdriver-manager repo postinstall
clydin Dec 8, 2025
114cddd
refactor(@angular/cli): extract update migration logic into separate …
clydin Dec 8, 2025
a53e666
test: rename npm E2E suite to webpack
clydin Dec 9, 2025
9f28807
ci: correctly build E2E webpack tests on Windows
clydin Dec 9, 2025
4cdc66b
ci: remove single value os matrix field from E2E jobs
clydin Dec 9, 2025
30b5d81
fix(@angular/build): Add custom middleware for to present an Angular-…
aparzi Dec 10, 2025
458bdcf
build: update to bazel version 8.4.2
josephperrott Dec 10, 2025
bf990dc
build: update cross-repo angular dependencies
angular-robot Dec 9, 2025
9c1d9a8
build: update pnpm to v10.25.0
angular-robot Dec 10, 2025
c4af193
build: update dependency rules_cc to v0.2.14
angular-robot Dec 10, 2025
489caca
build: lock file maintenance
angular-robot Dec 9, 2025
eab705f
build: update github/codeql-action action to v4.31.7
angular-robot Dec 10, 2025
149834d
refactor(@angular/cli): integrate new package manager abstraction in …
clydin Dec 8, 2025
2e7227b
fix(@angular/build): Ensure disposal of close-javascript-transformer
Aukevanoost Dec 10, 2025
f17bc59
build: update all non-major dependencies
angular-robot Dec 10, 2025
a8b62a0
build: update cross-repo angular dependencies
angular-robot Dec 10, 2025
43dd1ff
release: cut the v21.0.3 release
hybrist Dec 10, 2025
c1f9b7f
release: cut the v21.1.0-next.2 release
hybrist Dec 10, 2025
85c6e39
build: use Node.js built-in TypeScript support for dev-infra scripts
clydin Dec 10, 2025
e6eddd4
ci: correct snapshots script import extension
clydin Dec 10, 2025
98c207b
fix(@angular/build): add browser condition to resolver for vitest
jeripeierSBB Dec 8, 2025
288a922
fix(@schematics/angular): remove `inlineSources` from library tsconfi…
alan-agius4 Dec 11, 2025
6bef168
build: update cross-repo angular dependencies
angular-robot Dec 11, 2025
a15db28
perf(@angular/cli): cache resolved specific version in package manage…
clydin Dec 11, 2025
efd1180
refactor(@angular/cli): remove unused update requirements metadata field
clydin Dec 11, 2025
095c1f4
build: disable assistant_to_the_branch_manager on forks
cexbrayat Dec 12, 2025
7c7e6a6
fix(@angular/build): conditionally manage Vitest UI option
clydin Dec 11, 2025
fab1a9b
refactor(@angular/ssr): update type usage to support isolated declara…
clydin Dec 12, 2025
e4eee62
refactor(@schematics/angular): update type usage to support isolated …
clydin Dec 12, 2025
032257a
fix(@angular/cli): improve signal forms lesson examples in AI tutor
cexbrayat Dec 12, 2025
da05121
build: update all github actions
angular-robot Dec 12, 2025
5f190eb
build: update all non-major dependencies
angular-robot Dec 12, 2025
2d0dc74
build: update dependency bazel to v8.5.0
angular-robot Dec 12, 2025
fd8b4c8
refactor(@angular-devkit/schematics): update type usage to support is…
clydin Dec 12, 2025
52ace04
fix(@schematics/angular): improve VS Code background compilation star…
karcherm Dec 12, 2025
3a00a55
refactor(@angular-devkit/architect-cli): remove unused progress bar f…
clydin Dec 12, 2025
2d56a31
fix(@angular/ssr): skip SSR processing for well-known non-Angular URL…
alan-agius4 Dec 15, 2025
9744af1
fix(@angular/build): remove LmdbCacheStore export from private API
alan-agius4 Dec 15, 2025
eb48d71
refactor(@angular-devkit/schematics-cli): migrate argument parsing to…
clydin Dec 12, 2025
f1ab1d3
refactor(@angular-devkit/architect-cli): replace ansi-colors with nod…
clydin Dec 15, 2025
1b12967
refactor(@angular-devkit/build-angular): remove redundant spinner col…
clydin Dec 15, 2025
f7a4354
refactor(@angular-devkit/schematics-cli): replace ansi-colors with no…
clydin Dec 15, 2025
b103f3b
refactor(@angular/cli): standardize update command git utility execution
clydin Dec 16, 2025
ca0d4e6
ci: add 'less' to Renovate's ignored dependencies
alan-agius4 Dec 16, 2025
13e1881
build: update bazel dependencies
angular-robot Dec 16, 2025
3480966
fix(@angular/cli): enhance list_projects MCP tool file system travers…
clydin Dec 15, 2025
5119d75
build: lock file maintenance
angular-robot Dec 16, 2025
edeb41c
fix(@angular/build): ensure tests run when compilation error is resolved
clydin Dec 16, 2025
de35632
test: update e2e test assets from Angular 18.0 to 19.0
alan-agius4 Dec 17, 2025
fc1aee3
build: update dependency rules_cc to v0.2.15
angular-robot Dec 17, 2025
60aded8
build: migrate Bazel ignore rules from .bazelignore to REPO.bazel
alan-agius4 Dec 17, 2025
430d189
refactor(@angular-devkit/architect-cli): remove yargs-parser dependency
clydin Dec 16, 2025
e565122
fix(@angular/ssr): add leading slash to well-known non-Angular URLs
alan-agius4 Dec 17, 2025
081e313
fix(@angular/ssr): propagate status code to redirect
alan-agius4 Dec 17, 2025
b76ae9f
build: update pnpm to v10.26.0
angular-robot Dec 17, 2025
6e5cca7
build: update all non-major dependencies
angular-robot Dec 17, 2025
f39f7ee
fix(@angular/build): allow non-prefixed requests when using SSR and b…
alan-agius4 Dec 16, 2025
7d3e0ad
test: migrate legacy CLI tests to e2e directory
alan-agius4 Dec 17, 2025
18d74dd
fix(@angular/cli): rename mcp devserver tools to comply with naming spec
cexbrayat Dec 17, 2025
9c9d7c5
refactor: correct tsconfig.json extends path
alan-agius4 Dec 17, 2025
8a29544
build: update github/codeql-action action to v4.31.9
angular-robot Dec 17, 2025
cf0512d
refactor(@angular-devkit/architect): consolidate architect cli into c…
clydin Dec 17, 2025
d76239a
build: update cross-repo angular dependencies
angular-robot Dec 18, 2025
03123d5
refactor: directly set `responseInit.status` by removing type asserti…
alan-agius4 Dec 18, 2025
64be635
test: await package install in architect CLI E2E
clydin Dec 18, 2025
f97d30c
build: update cross-repo angular dependencies
angular-robot Dec 18, 2025
70bc0f6
build: restore `ng-dev` script
dgp1130 Dec 18, 2025
ed3c368
docs: release notes for the v21.0.4 release
dgp1130 Dec 18, 2025
aef7d65
release: cut the v21.1.0-next.3 release
dgp1130 Dec 18, 2025
e9be53f
test: introduce Puppeteer infrastructure for E2E tests
clydin Dec 17, 2025
9b34c62
test: verify Puppeteer E2E infrastructure on Windows CI
clydin Dec 18, 2025
54f0eb6
build: remove tools/baseline_browserslist from pnpm workspace
alan-agius4 Dec 19, 2025
424a465
fix(@schematics/angular): update default app component welcome message
alan-agius4 Dec 19, 2025
716ef9d
test: remove control characters from puppeteer serve output in E2E tests
clydin Dec 19, 2025
2ed38fb
build: switch Node.js toolchain to derive version from .nvmrc.
alan-agius4 Dec 19, 2025
95e35e5
build: add pnpm extension with specified version and integrity
alan-agius4 Dec 19, 2025
ca84b29
test: initial protractor to puppeteer E2E conversion
clydin Dec 18, 2025
5f1f0d1
test: migrate i18n E2E tests to Puppeteer
clydin Dec 19, 2025
8e315ed
build: update cross-repo angular dependencies
angular-robot Dec 19, 2025
b969432
Revert "build: restore `ng-dev` script"
alan-agius4 Dec 19, 2025
7203271
build: update pnpm to v10.26.1
angular-robot Dec 22, 2025
cb24c24
build: lock file maintenance
angular-robot Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 0 additions & 19 deletions .bazelignore

This file was deleted.

2 changes: 1 addition & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ test --incompatible_strict_action_env
build --experimental_remote_merkle_tree_cache

# Ensure that tags applied in BUILDs propagate to actions
common --experimental_allow_tags_propagation
common --incompatible_allow_tags_propagation

# Ensure sandboxing is enabled even for exclusive tests
test --incompatible_exclusive_test_sandboxed
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.7.1
8.5.0
4 changes: 2 additions & 2 deletions .github/shared-actions/windows-bazel-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ runs:
- name: Convert symlinks for Windows host
shell: pwsh
run: |
$runfiles_dir = "./dist/bin/tests/legacy-cli/${{inputs.test_target_name}}_/${{inputs.test_target_name}}.bat.runfiles"
$runfiles_dir = "./dist/bin/tests/${{inputs.test_target_name}}_/${{inputs.test_target_name}}.bat.runfiles"

# Needed for resolution because Aspect/Bazel looks for repositories at `<workspace>/external`.
# TODO(devversion): consult with Aspect on why this is needed.
Expand All @@ -38,5 +38,5 @@ runs:
E2E_TEMP: ${{ inputs.e2e_temp_dir }}
run: |
node ./scripts/windows-testing/parallel-executor.mjs \
"./dist/bin/tests/legacy-cli/${{ inputs.test_target_name }}_/${{ inputs.test_target_name }}.bat.runfiles" \
"./dist/bin/tests/${{ inputs.test_target_name }}_/${{ inputs.test_target_name }}.bat.runfiles" \
${{ inputs.test_target_name }}
5 changes: 3 additions & 2 deletions .github/workflows/assistant-to-the-branch-manager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ permissions:
jobs:
assistant_to_the_branch_manager:
runs-on: ubuntu-latest
if: github.event.repository.fork == false
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- uses: angular/dev-infra/github-actions/branch-manager@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
- uses: angular/dev-infra/github-actions/branch-manager@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
100 changes: 47 additions & 53 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Generate JSON schema types
# Schema types are required to correctly lint the TypeScript code
run: pnpm admin build-schema
run: pnpm run build-schema
- name: Run ESLint
run: pnpm lint --cache-strategy content
- name: Validate NgBot Configuration
Expand All @@ -44,11 +44,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
Expand All @@ -61,51 +61,50 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Run module and package tests
run: pnpm bazel test -- //... -//tests/legacy-cli/...
run: pnpm bazel test -- //... -//tests/...

e2e:
needs: test
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [20, 22, 24]
subset: [npm, esbuild]
subset: [esbuild, webpack]
shard: [0, 1, 2, 3, 4, 5]
runs-on: ${{ matrix.os }}
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run CLI E2E tests
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests/legacy-cli:e2e.${{ matrix.subset }}_node${{ matrix.node }}
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.${{ matrix.subset }}_node${{ matrix.node }}

build-e2e-windows:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
Expand All @@ -114,15 +113,15 @@ jobs:
run: |
pnpm bazel build \
--config=e2e \
//tests/legacy-cli:e2e.npm_node22 \
//tests/legacy-cli:e2e.esbuild_node22 \
//tests:e2e.webpack_node22 \
//tests:e2e.esbuild_node22 \
--platforms=tools:windows_x64
- name: Store built Windows E2E tests
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: win-e2e-build-artifacts
path: |
dist/bin/tests/legacy-cli/**
dist/bin/tests/**
!**/node_modules/**
retention-days: 1
if-no-files-found: 'error'
Expand All @@ -132,21 +131,20 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [windows-2025]
node: [22]
subset: [npm, esbuild]
subset: [esbuild, webpack]
shard: [0, 1, 2, 3, 4, 5]
runs-on: ${{ matrix.os }}
runs-on: windows-2025
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Download built Windows E2E tests
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
with:
name: win-e2e-build-artifacts
path: dist/bin/tests/legacy-cli/
path: dist/bin/tests/
- name: Run CLI E2E tests
uses: ./.github/shared-actions/windows-bazel-test
with:
Expand All @@ -160,51 +158,47 @@ jobs:
strategy:
fail-fast: false
matrix:
# These tests can generate a significant amount of temp files, especially when
# flaky targets are retried. The larger machine type comes with 2x more SSD space.
os: [ubuntu-latest-4core]
node: [22]
subset: [yarn, pnpm]
subset: [yarn, pnpm, bun]
shard: [0, 1, 2]
runs-on: ${{ matrix.os }}
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run CLI E2E tests
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=3 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests/legacy-cli:e2e.${{ matrix.subset }}_node${{ matrix.node }}
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=3 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.${{ matrix.subset }}_node${{ matrix.node }}

e2e-snapshots:
needs: test
if: github.ref == 'refs/heads/main'
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [22]
subset: [npm, esbuild]
subset: [esbuild, webpack]
shard: [0, 1, 2, 3, 4, 5]
runs-on: ${{ matrix.os }}
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run CLI E2E tests
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests/legacy-cli:e2e.snapshots.${{ matrix.subset }}_node${{ matrix.node }}
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.snapshots.${{ matrix.subset }}_node${{ matrix.node }}

browsers:
needs: build
Expand All @@ -214,13 +208,13 @@ jobs:
SAUCE_TUNNEL_IDENTIFIER: angular-cli-${{ github.workflow }}-${{ github.run_number }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/configure-remote@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run E2E Browser tests
Expand All @@ -235,9 +229,9 @@ jobs:
run: |
./scripts/saucelabs/start-tunnel.sh &
./scripts/saucelabs/wait-for-tunnel.sh
pnpm bazel test --config=saucelabs //tests/legacy-cli:e2e.saucelabs
pnpm bazel test --config=saucelabs //tests:e2e.saucelabs
./scripts/saucelabs/stop-tunnel.sh
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: ${{ failure() }}
with:
name: sauce-connect-log
Expand All @@ -250,11 +244,11 @@ jobs:
CIRCLE_BRANCH: ${{ github.ref_name }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- run: pnpm admin snapshots --verbose
env:
SNAPSHOT_BUILDS_GITHUB_TOKEN: ${{ secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ jobs:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2
uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
with:
languages: javascript-typescript
build-mode: none
config-file: .github/codeql/config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2
uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
with:
category: '/language:javascript-typescript'
8 changes: 4 additions & 4 deletions .github/workflows/dev-infra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ jobs:
labels:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: angular/dev-infra/github-actions/pull-request-labeling@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: angular/dev-infra/github-actions/pull-request-labeling@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
post_approval_changes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: angular/dev-infra/github-actions/post-approval-changes@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: angular/dev-infra/github-actions/post-approval-changes@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
2 changes: 1 addition & 1 deletion .github/workflows/feature-requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ jobs:
if: github.repository == 'angular/angular-cli'
runs-on: ubuntu-latest
steps:
- uses: angular/dev-infra/github-actions/feature-request@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
- uses: angular/dev-infra/github-actions/feature-request@942d738d8f4d65b161d06e6c399fefec318cdbfe
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
6 changes: 3 additions & 3 deletions .github/workflows/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
workflows: ${{ steps.workflows.outputs.workflows }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
- id: workflows
Expand All @@ -38,9 +38,9 @@ jobs:
workflow: ${{ fromJSON(needs.list.outputs.workflows) }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@c855fffb4b01bc06e743eb3bdfd54c866af09ad8
uses: angular/dev-infra/github-actions/bazel/setup@942d738d8f4d65b161d06e6c399fefec318cdbfe
- name: Install node modules
run: pnpm install --frozen-lockfile
# We utilize the google-github-actions/auth action to allow us to get an active credential using workflow
Expand Down
Loading
Loading