diff --git a/.github/shared-actions/windows-bazel-test/action.yml b/.github/shared-actions/windows-bazel-test/action.yml
index f796bbc8c26a..4a3c4b95e823 100644
--- a/.github/shared-actions/windows-bazel-test/action.yml
+++ b/.github/shared-actions/windows-bazel-test/action.yml
@@ -18,7 +18,7 @@ runs:
   steps:
     - name: Initialize WSL
       id: init_wsl
-      uses: angular/dev-infra/github-actions/setup-wsl@92edde46390984cf9182d3d1e5c4c7651f75171f
+      uses: angular/dev-infra/github-actions/setup-wsl@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       with:
         wsl_firewall_interface: 'vEthernet (WSL (Hyper-V firewall))'
 
diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml
index 7627bcca39d6..5b5f18b3d6fa 100644
--- a/.github/workflows/assistant-to-the-branch-manager.yml
+++ b/.github/workflows/assistant-to-the-branch-manager.yml
@@ -16,6 +16,6 @@ jobs:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
         with:
           persist-credentials: false
-      - uses: angular/dev-infra/github-actions/branch-manager@92edde46390984cf9182d3d1e5c4c7651f75171f
+      - uses: angular/dev-infra/github-actions/branch-manager@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 73c1060ea232..ffe3226b36ea 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,9 +21,9 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Generate JSON schema types
@@ -44,11 +44,11 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
       - name: Install node modules
@@ -61,11 +61,11 @@ jobs:
     runs-on: ubuntu-latest-4core
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
       - name: Install node modules
@@ -87,13 +87,13 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
       - name: Run CLI E2E tests
@@ -110,11 +110,11 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           allow_windows_rbe: true
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
@@ -138,13 +138,13 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
       - name: Run CLI E2E tests
@@ -163,13 +163,13 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
       - name: Run CLI E2E tests
@@ -183,13 +183,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@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
       - name: Run E2E Browser tests
@@ -219,11 +219,11 @@ jobs:
       CIRCLE_BRANCH: ${{ github.ref_name }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - run: pnpm admin snapshots --verbose
         env:
           SNAPSHOT_BUILDS_GITHUB_TOKEN: ${{ secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN }}
diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml
index 1e8fce44a63f..93f7cda7f0a8 100644
--- a/.github/workflows/dev-infra.yml
+++ b/.github/workflows/dev-infra.yml
@@ -13,13 +13,13 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
-      - uses: angular/dev-infra/github-actions/pull-request-labeling@92edde46390984cf9182d3d1e5c4c7651f75171f
+      - uses: angular/dev-infra/github-actions/pull-request-labeling@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
   post_approval_changes:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
-      - uses: angular/dev-infra/github-actions/post-approval-changes@92edde46390984cf9182d3d1e5c4c7651f75171f
+      - uses: angular/dev-infra/github-actions/post-approval-changes@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml
index 7a0e9fdf3139..9010228c875e 100644
--- a/.github/workflows/feature-requests.yml
+++ b/.github/workflows/feature-requests.yml
@@ -16,6 +16,6 @@ jobs:
     if: github.repository == 'angular/angular-cli'
     runs-on: ubuntu-latest
     steps:
-      - uses: angular/dev-infra/github-actions/feature-request@92edde46390984cf9182d3d1e5c4c7651f75171f
+      - uses: angular/dev-infra/github-actions/feature-request@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml
index c10c861840bf..b217c0402737 100644
--- a/.github/workflows/perf.yml
+++ b/.github/workflows/perf.yml
@@ -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@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - id: workflows
@@ -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@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - 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
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 237f8a432079..6370a9012c3a 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -34,9 +34,9 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup ESLint Caching
         uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
         with:
@@ -56,7 +56,7 @@ jobs:
       - name: Run Validation
         run: pnpm admin validate
       - name: Check Package Licenses
-        uses: angular/dev-infra/github-actions/linting/licenses@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/linting/licenses@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Check tooling setup
         run: pnpm check-tooling-setup
       - name: Check commit message
@@ -72,11 +72,11 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Build release targets
@@ -93,11 +93,11 @@ jobs:
     runs-on: ubuntu-latest-16core
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Run module and package tests
@@ -117,13 +117,13 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - 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 }}
 
@@ -132,11 +132,11 @@ jobs:
     runs-on: windows-2025
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
         with:
           allow_windows_rbe: true
       - name: Run CLI E2E tests
@@ -157,13 +157,13 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - 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 }}
 
@@ -180,12 +180,12 @@ jobs:
     runs-on: ${{ matrix.os }}
     steps:
       - name: Initialize environment
-        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Install node modules
         run: pnpm install --frozen-lockfile
       - name: Setup Bazel
-        uses: angular/dev-infra/github-actions/bazel/setup@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/setup@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - name: Setup Bazel RBE
-        uses: angular/dev-infra/github-actions/bazel/configure-remote@92edde46390984cf9182d3d1e5c4c7651f75171f
+        uses: angular/dev-infra/github-actions/bazel/configure-remote@f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
       - 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 }}
diff --git a/WORKSPACE b/WORKSPACE
index 5ab39c378c82..f4a0880643f0 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -230,7 +230,7 @@ load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
 
 git_repository(
     name = "devinfra",
-    commit = "92edde46390984cf9182d3d1e5c4c7651f75171f",
+    commit = "f3ac6ef8b4291287e19d23c2a708dbc4ac24293a",
     remote = "https://github.com/angular/dev-infra.git",
 )
 
diff --git a/package.json b/package.json
index 3c2e97e26165..ee0e6875c5f7 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,7 @@
     "@angular/forms": "20.1.0-next.2",
     "@angular/localize": "20.1.0-next.2",
     "@angular/material": "20.1.0-next.1",
-    "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f2e0ea6a2b1df8fb1cc674792771c7f0c45752c7",
+    "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#af92dd0055dbfb437c73fd2ab963149a4341d018",
     "@angular/platform-browser": "20.1.0-next.2",
     "@angular/platform-server": "20.1.0-next.2",
     "@angular/router": "20.1.0-next.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b37a383aa4ae..07933e35a613 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -42,8 +42,8 @@ importers:
         specifier: 20.1.0-next.1
         version: 20.1.0-next.1(l32yggn2tzdh3a577e6frrsqxm)
       '@angular/ng-dev':
-        specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#f2e0ea6a2b1df8fb1cc674792771c7f0c45752c7
-        version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f2e0ea6a2b1df8fb1cc674792771c7f0c45752c7(encoding@0.1.13)
+        specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#af92dd0055dbfb437c73fd2ab963149a4341d018
+        version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/af92dd0055dbfb437c73fd2ab963149a4341d018(encoding@0.1.13)
       '@angular/platform-browser':
         specifier: 20.1.0-next.2
         version: 20.1.0-next.2(@angular/animations@20.1.0-next.2(@angular/common@20.1.0-next.2(@angular/core@20.1.0-next.2(@angular/compiler@20.1.0-next.2)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.1.0-next.2(@angular/compiler@20.1.0-next.2)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.1.0-next.2(@angular/core@20.1.0-next.2(@angular/compiler@20.1.0-next.2)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.1.0-next.2(@angular/compiler@20.1.0-next.2)(rxjs@7.8.2)(zone.js@0.15.1))
@@ -980,9 +980,9 @@ packages:
       '@angular/platform-browser': ^20.0.0-0 || ^20.1.0-0 || ^20.2.0-0 || ^20.3.0-0 || ^21.0.0-0
       rxjs: ^6.5.3 || ^7.4.0
 
-  '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f2e0ea6a2b1df8fb1cc674792771c7f0c45752c7':
-    resolution: {tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f2e0ea6a2b1df8fb1cc674792771c7f0c45752c7}
-    version: 0.0.0-92edde46390984cf9182d3d1e5c4c7651f75171f
+  '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/af92dd0055dbfb437c73fd2ab963149a4341d018':
+    resolution: {tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/af92dd0055dbfb437c73fd2ab963149a4341d018}
+    version: 0.0.0-f3ac6ef8b4291287e19d23c2a708dbc4ac24293a
     hasBin: true
 
   '@angular/platform-browser@20.1.0-next.2':
@@ -8403,7 +8403,7 @@ snapshots:
       rxjs: 7.8.2
       tslib: 2.8.1
 
-  '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f2e0ea6a2b1df8fb1cc674792771c7f0c45752c7(encoding@0.1.13)':
+  '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/af92dd0055dbfb437c73fd2ab963149a4341d018(encoding@0.1.13)':
     dependencies:
       '@google-cloud/spanner': 8.0.0(supports-color@10.0.0)
       '@google/genai': 1.6.0(encoding@0.1.13)(supports-color@10.0.0)
diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json
index 105f10dfc41a..98a4417d7714 100644
--- a/tests/legacy-cli/e2e/ng-snapshot/package.json
+++ b/tests/legacy-cli/e2e/ng-snapshot/package.json
@@ -2,21 +2,21 @@
   "description": "snapshot versions of Angular for e2e testing",
   "private": true,
   "dependencies": {
-    "@angular/animations": "github:angular/animations-builds#bea9cf158a1f38c8c661547c77269c87b529c308",
-    "@angular/cdk": "github:angular/cdk-builds#582336c0d3150698f99cf109ae61b4a9de84c136",
-    "@angular/common": "github:angular/common-builds#afc5d03e867933b49308c3be233f0cf334d586de",
-    "@angular/compiler": "github:angular/compiler-builds#f6bfaf7df44d4e500adfa597656d9da4ad5a467f",
-    "@angular/compiler-cli": "github:angular/compiler-cli-builds#d21adcfeab65135e0e1923449bde2beece489614",
-    "@angular/core": "github:angular/core-builds#218c2b31d5b3c70baa82d50c78826096cb2fbda5",
-    "@angular/forms": "github:angular/forms-builds#b653e385e8198478d0ea27ab82f82dd20ced0ba1",
-    "@angular/language-service": "github:angular/language-service-builds#4e390060b8f3a1ba50f880a9fbb33b8c145eac9d",
-    "@angular/localize": "github:angular/localize-builds#1929e58f22e8599782d2c8c11cf7b05d7c178f15",
-    "@angular/material": "github:angular/material-builds#13cdd92a4c68e82e74f3d34008af3cd7e36bbd11",
-    "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#abcbeda334a87edeb420ca2d4f05d859365a29fa",
-    "@angular/platform-browser": "github:angular/platform-browser-builds#668e136a939aa5e0b22de485e9d0745e4a74251e",
-    "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#432ee4ab54583555fc2f6680b19042cfa741de21",
-    "@angular/platform-server": "github:angular/platform-server-builds#42effc668bd6770a215afd74f7ed50167bb1dfad",
-    "@angular/router": "github:angular/router-builds#11acd1f1cd984bd92d2f4a142a0c3d82ffdd80a3",
-    "@angular/service-worker": "github:angular/service-worker-builds#37832f9699235954d444de20464c40483f8ba0b0"
+    "@angular/animations": "github:angular/animations-builds#dcc309c3d64e130f81e1377796fb955f8332ca5c",
+    "@angular/cdk": "github:angular/cdk-builds#0b95bbbacbf2bd4476efcb0dec880ce3b8547485",
+    "@angular/common": "github:angular/common-builds#e6a50567be01a68613864dc64d60e6ec3e538ba7",
+    "@angular/compiler": "github:angular/compiler-builds#0e3124744d1c782815d83fe33e4060c696e88904",
+    "@angular/compiler-cli": "github:angular/compiler-cli-builds#9c078d071702c58a7283324c75f60f67bbbfe48d",
+    "@angular/core": "github:angular/core-builds#8e9db1cf35f69c07a361b35f6332ab0f114c2de8",
+    "@angular/forms": "github:angular/forms-builds#ab64c371748b6416c68fba0b4de174f5620005f4",
+    "@angular/language-service": "github:angular/language-service-builds#1a182011cbb6243a48966990ace6fd4f68b31d73",
+    "@angular/localize": "github:angular/localize-builds#d3b349ff1b751049b5bdb8250bd6e670d2446636",
+    "@angular/material": "github:angular/material-builds#0e8ec4b2bd7c2e76995b8f27be250b4ec4553934",
+    "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#45b844a647bd12654b5ed7125e9723200d6f76b3",
+    "@angular/platform-browser": "github:angular/platform-browser-builds#678e52c5e4758863a56a9202c3f278291d5fe444",
+    "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6c735fd5d0eb157d88b413f411c0d1ea14ec0e39",
+    "@angular/platform-server": "github:angular/platform-server-builds#798ccf57903e80e377d74ef2526254153b1c99ab",
+    "@angular/router": "github:angular/router-builds#c4d8d37449903e8a932ca9acae2a14933ad2e879",
+    "@angular/service-worker": "github:angular/service-worker-builds#6a978a3d5832b621c59c6410a5161fab98f0b79a"
   }
 }