Skip to content

build: update cross-repo angular dependencies #7208

build: update cross-repo angular dependencies

build: update cross-repo angular dependencies #7208

Workflow file for this run

name: Pull Request
on:
pull_request:
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
defaults:
run:
shell: bash
jobs:
analyze:
runs-on: ubuntu-latest
outputs:
snapshots: ${{ steps.filter.outputs.snapshots }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
filters: |
snapshots:
- 'tests/legacy-cli/e2e/ng-snapshot/package.json'
lint:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup ESLint Caching
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: .eslintcache
key: ${{ runner.os }}-${{ hashFiles('.eslintrc.json') }}
- 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
- name: Run ESLint
run: pnpm lint --cache-strategy content
- name: Validate NgBot Configuration
run: pnpm ng-dev ngbot verify
- name: Validate Circular Dependencies
run: pnpm ts-circular-deps check
- name: Run Validation
run: pnpm admin validate
- name: Check Package Licenses
uses: angular/dev-infra/github-actions/linting/licenses@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Check tooling setup
run: pnpm check-tooling-setup
- name: Check commit message
# Commit message validation is only done on pull requests as its too late to validate once
# it has been merged.
run: pnpm ng-dev commit-message validate-range ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}
- name: Check code format
# Code formatting checks are only done on pull requests as its too late to validate once
# it has been merged.
run: pnpm ng-dev format changed --check ${{ github.event.pull_request.base.sha }}
build:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Build release targets
run: pnpm ng-dev release build
- name: Store PR release packages
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: packages
path: dist/releases/*.tgz
retention-days: 14
test:
needs: build
runs-on: ubuntu-latest-16core
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Run module and package tests
run: pnpm bazel test //modules/... //packages/...
env:
ASPECT_RULES_JS_FROZEN_PNPM_LOCK: '1'
e2e:
needs: build
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [22]
subset: [npm, esbuild]
shard: [0, 1, 2, 3, 4, 5]
runs-on: ${{ matrix.os }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@8f19310a6861d54d57a9c98c5419a898628eaba9
- 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 }}
# Temporarily disabled due to https://github.com/Vampire/setup-wsl/issues/76.
# e2e-windows-subset:
# needs: build
# runs-on: windows-2025
# steps:
# - name: Initialize environment
# uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@59c46175bf3a8870c0c2ceb9de1eb741fd50d415
# - name: Setup Bazel
# uses: angular/dev-infra/github-actions/bazel/setup@59c46175bf3a8870c0c2ceb9de1eb741fd50d415
# - name: Setup Bazel RBE
# uses: angular/dev-infra/github-actions/bazel/configure-remote@59c46175bf3a8870c0c2ceb9de1eb741fd50d415
# with:
# allow_windows_rbe: true
# - name: Run CLI E2E tests
# uses: ./.github/shared-actions/windows-bazel-test
# with:
# test_target_name: e2e_node22
# test_args: --esbuild --glob "tests/basic/{build,rebuild}.ts"
e2e-package-managers:
needs: build
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [22]
subset: [yarn, pnpm]
shard: [0, 1, 2]
runs-on: ${{ matrix.os }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@8f19310a6861d54d57a9c98c5419a898628eaba9
- 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 }}
e2e-snapshots:
needs: [analyze, build]
if: needs.analyze.outputs.snapshots == 'true'
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [22]
subset: [npm, esbuild]
shard: [0, 1, 2, 3, 4, 5]
runs-on: ${{ matrix.os }}
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@8f19310a6861d54d57a9c98c5419a898628eaba9
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@8f19310a6861d54d57a9c98c5419a898628eaba9
- 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 }}