mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit fixes that the angular.dev deployment is subject to GitHub API rate limiting due to lack of an access token. This commit fixes this, similar to how we fixed it in `angular/components`. The token is pure read-only. PR Close #56929
202 lines
8.3 KiB
YAML
202 lines
8.3 KiB
YAML
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@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
with:
|
|
cache-node-modules: true
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- name: Check code lint
|
|
run: yarn -s tslint
|
|
- name: Check for circular dependencies
|
|
run: yarn -s ts-circular-deps:check
|
|
- name: Validate pull approve configuration
|
|
run: yarn -s ng-dev pullapprove verify
|
|
- name: Validate angular robot configuration
|
|
run: yarn -s ng-dev ngbot verify
|
|
- name: Confirm code builds with typescript as expected
|
|
run: yarn -s check-tooling-setup
|
|
|
|
devtools:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
with:
|
|
cache-node-modules: true
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel RBE
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- name: Run unit tests
|
|
run: yarn devtools:test
|
|
- name: Test build
|
|
run: yarn devtools:build:chrome
|
|
|
|
test:
|
|
runs-on: ubuntu-latest-4core
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
with:
|
|
cache-node-modules: true
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel Remote Caching
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile --network-timeout 100000
|
|
- name: Run CI tests for framework
|
|
run: yarn test:ci
|
|
|
|
adev:
|
|
runs-on:
|
|
labels: ubuntu-latest-4core
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel RBE
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- name: Build adev in fast mode to ensure it continues to work
|
|
run: yarn bazel build //adev:build --fast_adev --config=release
|
|
- name: Run tests
|
|
run: yarn bazel test //adev:test
|
|
|
|
publish-snapshots:
|
|
runs-on:
|
|
labels: ubuntu-latest
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
with:
|
|
cache-node-modules: true
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel RBE
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- run: echo "https://${{secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN}}:@github.com" > ${HOME}/.git_credentials
|
|
- run: yarn build
|
|
- run: ./scripts/ci/publish-build-artifacts.sh
|
|
|
|
zone-js:
|
|
runs-on:
|
|
labels: ubuntu-latest-4core
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
with:
|
|
cache-node-modules: true
|
|
node-module-directories: |
|
|
./node_modules
|
|
./packages/zone.js/node_modules
|
|
./packages/zone.js/test/typings/node_modules
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel RBE
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- run: |
|
|
yarn bazel build \
|
|
//packages/zone.js/bundles:zone.umd.js \
|
|
//packages/zone.js:npm_package \
|
|
//packages/zone.js/test/closure:closure_js \
|
|
|
|
- run: |
|
|
rm -Rf packages/zone.js/build
|
|
rm -Rf packages/zone.js/test/extra/*.umd.js
|
|
|
|
mkdir -p packages/zone.js/build/
|
|
mkdir -p packages/zone.js/build/test/
|
|
|
|
cp dist/bin/packages/zone.js/bundles/zone.umd.js packages/zone.js/build/zone.umd.js
|
|
cp dist/bin/packages/zone.js/npm_package/bundles/zone-mix.umd.js ./packages/zone.js/test/extra/
|
|
cp dist/bin/packages/zone.js/npm_package/bundles/zone-patch-electron.umd.js ./packages/zone.js/test/extra/
|
|
cp dist/bin/packages/zone.js/test/closure/zone.closure.mjs ./packages/zone.js/build/test/zone.closure.mjs
|
|
|
|
# Install
|
|
- run: yarn --cwd packages/zone.js install --frozen-lockfile --non-interactive
|
|
# Run zone.js tools tests
|
|
- run: yarn --cwd packages/zone.js promisefinallytest
|
|
- run: yarn --cwd packages/zone.js jest:test
|
|
- run: yarn --cwd packages/zone.js jest:nodetest
|
|
- run: yarn --cwd packages/zone.js electrontest
|
|
- run: yarn --cwd packages/zone.js/test/typings install --frozen-lockfile --non-interactive
|
|
- run: yarn --cwd packages/zone.js/test/typings test
|
|
|
|
bazel-saucelabs:
|
|
runs-on: ubuntu-latest-4core
|
|
env:
|
|
JOBS: 2
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
with:
|
|
cache-node-modules: true
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel Remote Caching
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Saucelabs Variables
|
|
uses: angular/dev-infra/github-actions/saucelabs@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Set up Sauce Tunnel Daemon
|
|
run: yarn bazel run //tools/saucelabs-daemon/background-service -- $JOBS &
|
|
env:
|
|
SAUCE_TUNNEL_IDENTIFIER: angular-framework-${{ github.run_number }}
|
|
- name: Run all saucelabs bazel tests
|
|
run: |
|
|
TESTS=$(./node_modules/.bin/bazelisk query --output label '(kind(karma_web_test, ...) intersect attr("tags", "saucelabs", ...)) except attr("tags", "fixme-saucelabs", ...)')
|
|
yarn bazel test --config=saucelabs --jobs=$JOBS ${TESTS}
|
|
|
|
adev-deploy:
|
|
needs: [adev]
|
|
if: needs.adev.result == 'success'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Initialize environment
|
|
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel
|
|
uses: angular/dev-infra/github-actions/bazel/setup@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Setup Bazel RBE
|
|
uses: angular/dev-infra/github-actions/bazel/configure-remote@03b8a7dffd1205e061f0bee949024ebefc2a6592
|
|
- name: Install node modules
|
|
run: yarn install --frozen-lockfile
|
|
- name: Build adev to ensure it continues to work
|
|
run: yarn bazel build //adev:build --config=release
|
|
- name: Deploy to firebase
|
|
uses: ./.github/actions/deploy-docs-site
|
|
with:
|
|
serviceKey: ${{ secrets.ANGULAR_DEV_SITE_DEPLOY }}
|
|
githubReleaseTrainReadToken: ${{ secrets.DOCS_DEPLOY_GITHUB_RELEASE_TRAIN_TOKEN }}
|
|
configPath: 'adev/firebase.json'
|
|
distDir: 'dist/bin/adev/build/browser'
|