build: update all non-major dependencies #5713
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
- '[0-9]+.[0-9]+.x' | |
# Developers can make one-off pushes to `ci-*` branches to manually trigger full CI | |
# prior to opening a pull request. | |
- ci-* | |
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@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
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@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile --ignore-scripts | |
- name: Run ESLint | |
run: yarn lint --cache-strategy content | |
- name: Validate NgBot Configuration | |
run: yarn ng-dev ngbot verify | |
- name: Validate Circular Dependencies | |
run: yarn ts-circular-deps check | |
- name: Run Validation | |
run: yarn -s admin validate | |
- name: Check tooling setup | |
run: yarn -s check-tooling-setup | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Build release targets | |
run: yarn ng-dev release build | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Run module tests | |
run: yarn bazel test //modules/... | |
- name: Run package tests | |
run: yarn bazel test //packages/... | |
e2e: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
node: [18, 20, 22] | |
subset: [npm, yarn, esbuild] | |
shard: [0, 1, 2, 3, 4, 5] | |
exclude: | |
# Exclude Node.js v18 when running on a PR | |
- node: ${{ github.event_name != 'pull_request' && 'none' || '18' }} | |
# Exclude Node.js v20 when running on a PR | |
- node: ${{ github.event_name != 'pull_request' && 'none' || '20' }} | |
# Exclude Windows when running on a PR | |
- os: ${{ github.event_name != 'pull_request' && 'none' || 'windows-latest' }} | |
# Skip yarn subset on Windows | |
- os: windows-latest | |
subset: yarn | |
# Skip Node.js v18 tests on Windows | |
- os: windows-latest | |
node: 18 | |
# Skip Node.js v20 tests on Windows | |
- os: windows-latest | |
node: 20 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Run CLI E2E tests | |
run: yarn bazel test --define=E2E_SHARD_TOTAL=6 --define=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests/legacy-cli:e2e.${{ matrix.subset }}_node${{ matrix.node }} | |
e2e-snapshots: | |
needs: analyze | |
if: needs.analyze.outputs.snapshots == 'true' | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
node: [18] | |
subset: [npm, yarn, 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@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Run CLI E2E tests | |
run: yarn bazel test --define=E2E_SHARD_TOTAL=6 --define=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests/legacy-cli:e2e.snapshots.${{ matrix.subset }}_node${{ matrix.node }} | |
browsers: | |
runs-on: ubuntu-latest | |
name: Browser Compatibility Tests | |
env: | |
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@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Run E2E Browser tests | |
env: | |
SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
SAUCE_LOG_FILE: /tmp/angular/sauce-connect.log | |
SAUCE_READY_FILE: /tmp/angular/sauce-connect-ready-file.lock | |
SAUCE_PID_FILE: /tmp/angular/sauce-connect-pid-file.lock | |
SAUCE_TUNNEL_IDENTIFIER: 'angular-${{ github.run_number }}' | |
SAUCE_READY_FILE_TIMEOUT: 120 | |
run: | | |
./scripts/saucelabs/start-tunnel.sh & | |
./scripts/saucelabs/wait-for-tunnel.sh | |
yarn bazel test --config=saucelabs //tests/legacy-cli:e2e.saucelabs | |
./scripts/saucelabs/stop-tunnel.sh | |
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | |
if: ${{ failure() }} | |
with: | |
name: sauce-connect-log | |
path: ${{ env.SAUCE_CONNECT_DIR_IN_HOST }}/sauce-connect.log | |
publish-snapshots: | |
runs-on: ubuntu-latest | |
env: | |
CIRCLE_BRANCH: ${{ github.ref_name }} | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@89624a6442b75b5cda33c5e9b5c8c4f87ca4f13d | |
- run: yarn admin snapshots --verbose | |
env: | |
SNAPSHOT_BUILDS_GITHUB_TOKEN: ${{ secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN }} |