/
githubmirror
/
angular-cli
Обзор
Документация
Войти
/
githubmirror
/
angular-cli
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/ci.yml
255 строк
10 KB
Angular Robot
build: update cross-repo angular dependencies
19 часов назад
19 часов назад
0ae3c1b
Код
Авторство
О чём код?
name: CI on: push: branches: - main - '[0-9]+.[0-9]+.x' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: {} defaults: run: shell: bash jobs: lint: runs-on: ubuntu-latest steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - 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 run 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 tooling setup run: pnpm check-tooling-setup build: runs-on: ubuntu-latest steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules run: pnpm install --frozen-lockfile - name: Build release targets run: pnpm ng-dev release build test: needs: build runs-on: ubuntu-latest steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main 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/... e2e: needs: test strategy: fail-fast: false matrix: node: [22, 24, 26] subset: [esbuild, webpack] shard: [0, 1, 2, 3, 4, 5] runs-on: ubuntu-latest steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main 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: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@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules run: pnpm install --frozen-lockfile - name: Build E2E tests for Windows on Linux run: | pnpm bazel build \ --config=e2e \ //tests:e2e.webpack_node24 \ //tests:e2e.esbuild_node24 \ --platforms=tools:windows_x64 - name: Store built Windows E2E tests uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: win-e2e-build-artifacts path: | dist/bin/tests/** !**/node_modules/** retention-days: 1 if-no-files-found: 'error' e2e-windows: needs: build-e2e-windows strategy: fail-fast: false matrix: node: [24] subset: [esbuild, webpack] shard: [0, 1, 2, 3, 4, 5] runs-on: windows-2025 steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Download built Windows E2E tests uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: win-e2e-build-artifacts path: dist/bin/tests/ - name: Run CLI E2E tests uses: ./.github/shared-actions/windows-bazel-test with: test_target_name: e2e.${{ matrix.subset }}_node${{ matrix.node }} env: E2E_SHARD_TOTAL: 6 E2E_SHARD_INDEX: ${{ matrix.shard }} e2e-package-managers: needs: test strategy: fail-fast: false matrix: node: [22] subset: [yarn, pnpm, bun] shard: [0, 1, 2] runs-on: ubuntu-latest steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main 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:e2e.${{ matrix.subset }}_node${{ matrix.node }} e2e-snapshots: needs: test if: github.ref == 'refs/heads/main' strategy: fail-fast: false matrix: node: [22] subset: [esbuild, webpack] shard: [0, 1, 2, 3, 4, 5] runs-on: ubuntu-latest steps: - name: Initialize environment uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main 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:e2e.snapshots.${{ matrix.subset }}_node${{ matrix.node }} browsers: needs: build 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@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Setup Bazel RBE uses: angular/dev-infra/github-actions/bazel/configure-remote@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Start Sauce Connect uses: saucelabs/sauce-connect-action@cb88b508c6f9ff4d84490093733315dbd55de022 # v3 timeout-minutes: 10 with: username: ${{ vars.SAUCE_USERNAME }} accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} region: us-west-1 tunnelName: ${{ env.SAUCE_TUNNEL_IDENTIFIER }} proxyLocalhost: allow # By default we disable SSL bumping for all requests. This is because SSL bumping is not needed # for our test setup and in order to perform the SSL bumping, Saucelabs intercepts all HTTP # requests in the tunnel VM and modifies them. This can cause flakiness as it makes all requests # dependent on the SSL bumping middleware. # See: https://wiki.saucelabs.com/display/DOCS/Troubleshooting+Sauce+Connect#TroubleshootingSauceConnect-DisablingSSLBumping tlsPassthroughDomains: all - name: Run E2E Browser tests env: SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }} SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} run: pnpm bazel test --config=saucelabs //tests:e2e.saucelabs publish-snapshots: needs: build 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@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Setup Bazel uses: angular/dev-infra/github-actions/bazel/setup@04230133d395dfb032d782b8e63b4fcbbd406aa5 # main - run: pnpm admin snapshots --verbose env: SNAPSHOT_BUILDS_GITHUB_TOKEN: ${{ secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN }}