refactor(compiler): Delete TemplateDefinitionBuilder
acceptance tes…
#1
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' | |
pull_request: | |
types: [opened, synchronize, reopened] | |
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@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
node-module-directories: | | |
./node_modules | |
./aio/node_modules | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Install node modules in aio | |
run: yarn install --frozen-lockfile --cwd aio | |
- name: Check code lint | |
run: yarn -s tslint | |
- name: Check code lint in aio | |
run: yarn -s --cwd aio lint | |
- 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 | |
- name: Check commit message | |
# Commit message validation is only done on pull requests as its too late to validate once | |
# it has been merged. | |
if: github.event_name == 'pull_request' | |
run: yarn 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. | |
if: github.event_name == 'pull_request' | |
run: yarn ng-dev format changed --check ${{ github.event.pull_request.base.sha }} | |
devtools: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- 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@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel Remote Caching | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Install node modules | |
run: yarn install --frozen-lockfile --network-timeout 100000 | |
- name: Run CI tests for framework | |
run: yarn test:ci | |
aio: | |
runs-on: ubuntu-latest-4core | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
node-module-directories: | | |
./aio/node_modules | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Install node modules for aio | |
run: yarn install --cwd aio --frozen-lockfile | |
- name: Run AIO tests with upstream packages | |
run: yarn --cwd aio test:ci | |
- name: Check generated bundle sizes | |
run: yarn --cwd aio payload-size | |
adev: | |
runs-on: | |
labels: ubuntu-latest-4core | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Build adev to ensure it continues to work | |
run: yarn bazel test --config=aio_local_deps //adev:test | |
aio-local: | |
runs-on: | |
labels: ubuntu-latest-4core | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
node-module-directories: | | |
./aio/node_modules | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Install node modules | |
run: yarn install --cwd aio --frozen-lockfile | |
- name: Run AIO tests with local packages | |
run: yarn --cwd aio test-local:ci | |
- name: Check generated bundle sizes | |
run: yarn --cwd aio payload-size aio-local | |
aio-deploy: | |
needs: [aio] | |
if: needs.aio.result == 'success' && github.event_name == 'push' | |
runs-on: | |
labels: ubuntu-latest | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
node-module-directories: | | |
./aio/node_modules | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Install node modules for aio | |
run: yarn install --cwd aio --frozen-lockfile | |
- name: Set the stable branch environment variable | |
id: latest_version | |
run: | | |
echo "CI_STABLE_BRANCH=$(npm info @angular/core dist-tags.latest | sed -r 's/^\s*([0-9]+\.[0-9]+)\.[0-9]+.*$/\1.x/')" >> $GITHUB_OUTPUT | |
echo "CI_BRANCH=$(echo ${{ github.event.ref }} | cut -d '/' -f 3)" >> $GITHUB_OUTPUT | |
- name: Deploy aio to production | |
env: | |
CI_AIO_MIN_PWA_SCORE: '95' | |
CI_COMMIT: ${{ github.event.after }} | |
CI_REPO_NAME: 'angular' | |
CI_PULL_REQUEST: 'false' | |
CI_REPO_OWNER: 'angular' | |
CI_BUILD_URL: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' | |
CI_STABLE_BRANCH: ${{ steps.latest_version.outputs.CI_STABLE_BRANCH }} | |
CI_BRANCH: ${{ steps.latest_version.outputs.CI_BRANCH }} | |
CI_SECRET_AIO_DEPLOY_FIREBASE_TOKEN: ${{ secrets.AIO_DEPLOY_TOKEN }} | |
CI_SECRET_PAYLOAD_FIREBASE_TOKEN: ${{ secrets.AIO_PAYLOAD_TOKEN }} | |
run: yarn --cwd aio deploy-production | |
- name: Notify about failed deployment | |
if: ${{ failure() }} | |
uses: slackapi/slack-github-action@2a8087d4af6f83146a87539a70defe909fe6dbe6 # v=v1.24.0 | |
with: | |
channel-id: 'C07DT5M6V,CKV1F72BG' | |
slack-message: 'Deploy to aio job failed for ${{ github.base_ref }} branch failed on build ${{ github.event.after }}: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.ANGULAR_ROBOT_SLACK_TOKEN }} | |
publish-snapshots: | |
if: github.event_name == 'push' | |
runs-on: | |
labels: ubuntu-latest | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- 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@c83e99a12397014162531ca125c94549db55dd84 | |
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@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- 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: | |
# TODO: Replace legacy job with Bazel saucelabs job. | |
if: github.event_name == 'push' | |
runs-on: ubuntu-latest-4core | |
env: | |
JOBS: 2 | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
with: | |
cache-node-modules: true | |
# Checking out the pull request commit is intended here as we need to run the changed code tests. | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel Remote Caching | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- 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 }} | |
SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
- 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' && github.event_name == 'push' && github.ref_name == 'main' | |
env: | |
DEPLOY_PROJECT: angular-dev-site | |
DEPLOY_SITE: angular-dev-site | |
runs-on: ubuntu-latest | |
steps: | |
- name: Initialize environment | |
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel | |
uses: angular/dev-infra/github-actions/bazel/setup@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Setup Bazel RBE | |
uses: angular/dev-infra/github-actions/bazel/configure-remote@c83e99a12397014162531ca125c94549db55dd84 | |
- name: Install node modules | |
run: yarn install --frozen-lockfile | |
- name: Build adev to ensure it continues to work | |
run: yarn bazel build --config=aio_local_deps //adev:build | |
- name: Move generated project files into deployment directory | |
run: cp -r dist/bin/adev/build adev/build | |
- name: Setup firebase context | |
run: | | |
npx -y firebase-tools@latest target:clear --config adev/firebase.json --project ${{ env.DEPLOY_PROJECT }} hosting angular-docs | |
npx -y firebase-tools@latest target:apply --config adev/firebase.json --project ${{ env.DEPLOY_PROJECT }} hosting angular-docs ${{ env.DEPLOY_SITE }} | |
- name: Deploy to firebase | |
uses: FirebaseExtended/action-hosting-deploy@120e124148ab7016bec2374e5050f15051255ba2 # v0.7.1 | |
with: | |
entryPoint: './adev' | |
firebaseServiceAccount: ${{ secrets.ANGULAR_DEV_SITE_DEPLOY }} | |
projectId: ${{ env.DEPLOY_PROJECT }} | |
channelId: live |