@@ -346,6 +346,63 @@ jobs:
346
346
- run : node ./scripts/circleci/setup-angular-snapshots.js
347
347
- run : ./scripts/circleci/run-local-browser-tests.sh
348
348
349
+
350
+ # ----------------------------------------------------------------------------
351
+ # Job that runs all Bazel tests against Ivy with the current Angular version
352
+ # specified in the project dev dependencies.
353
+ # ----------------------------------------------------------------------------
354
+ ivy_test :
355
+ << : *job_defaults
356
+ resource_class : xlarge
357
+ environment :
358
+ GCP_DECRYPT_TOKEN : *gcp_decrypt_token
359
+ steps :
360
+ - *checkout_code
361
+ - *restore_cache
362
+ - *copy_bazel_config
363
+ - *setup_bazel_remote_execution
364
+ - *yarn_install
365
+
366
+ # Setup Angular ivy snapshots built with ngtsc but locked to a specific tag. We
367
+ # cannot determine the tag automatically based on the Angular version specified in
368
+ # the "package.json" because the SHA is not known for the given release. Nor can
369
+ # we use ngcc to apply the ivy switches because ngcc currently does not handle the
370
+ # UMD format which is used by Bazel when running tests. UMD processing is in
371
+ # progress and tracked with FW-85.
372
+ - run : node ./scripts/circleci/setup-angular-snapshots.js --tag 8.0.0-rc.0-ivy-aot+bd37622
373
+ # Disable type checking when building with Ivy. This is necessary because
374
+ # type checking is not complete yet and can incorrectly break compilation.
375
+ # Issue is tracked with FW-1004.
376
+ - run : sed -i "s/\(_ENABLE_NG_TYPE_CHECKING = \)True/\1False/g" tools/defaults.bzl
377
+ # Run project tests with ngtsc and the Ivy Angular packages.
378
+ - run : bazel build src/... --build_tag_filters=-docs-package --define=compile=aot
379
+ - run : bazel test src/... --build_tag_filters=-docs-package --define=compile=aot
380
+
381
+ # ----------------------------------------------------------------------------
382
+ # Job that runs all Bazel tests against Ivy from angular/angular#master.
383
+ # ----------------------------------------------------------------------------
384
+ ivy_snapshot_test_cronjob :
385
+ << : *job_defaults
386
+ resource_class : xlarge
387
+ environment :
388
+ GCP_DECRYPT_TOKEN : *gcp_decrypt_token
389
+ steps :
390
+ - *checkout_code
391
+ - *restore_cache
392
+ - *copy_bazel_config
393
+ - *setup_bazel_remote_execution
394
+ - *yarn_install
395
+
396
+ # Setup Angular ivy snapshots built with ngtsc.
397
+ - run : node ./scripts/circleci/setup-angular-snapshots.js --tag master-ivy-aot
398
+ # Disable type checking when building with Ivy. This is necessary because
399
+ # type checking is not complete yet and can incorrectly break compilation.
400
+ # Issue is tracked with FW-1004.
401
+ - run : sed -i "s/\(_ENABLE_NG_TYPE_CHECKING = \)True/\1False/g" tools/defaults.bzl
402
+ # Run project tests with ngtsc and the Ivy Angular packages.
403
+ - run : bazel build src/... --build_tag_filters=-docs-package --define=compile=aot
404
+ - run : bazel test src/... --build_tag_filters=-docs-package --define=compile=aot
405
+
349
406
# ----------------------------------------------------------------------------------------
350
407
# Workflow definitions. A workflow usually groups multiple jobs together. This is useful if
351
408
# one job depends on another.
@@ -360,6 +417,8 @@ workflows:
360
417
jobs :
361
418
- bazel_build_test :
362
419
filters : *ignore_presubmit_branch_filter
420
+ - ivy_test :
421
+ filters : *ignore_presubmit_branch_filter
363
422
- api_golden_checks :
364
423
filters : *ignore_presubmit_branch_filter
365
424
@@ -398,17 +457,18 @@ workflows:
398
457
- lint :
399
458
filters : *ignore_presubmit_branch_filter
400
459
401
- # Snapshot tests workflow that is scheduled to run all specified jobs at midnight everyday .
460
+ # Snapshot tests workflow that is scheduled to run all specified jobs every hour .
402
461
# This workflow runs various jobs against the Angular snapshot builds from Github.
403
462
snapshot_tests :
404
463
jobs :
405
- # Note that we need additional jobs for the nightly snapshot tests because there is no
406
- # easy way to detect whether a job runs inside of a cronjob or specific workflow.
407
- # See: https://circleci.com/ideas/?idea=CCI-I-295
464
+ # Note that we need additional jobs for the cronjob snapshot tests because there
465
+ # is no easy way to detect whether a job runs inside of a cronjob or specific
466
+ # workflow. See: https://circleci.com/ideas/?idea=CCI-I-295
408
467
- snapshot_tests_local_browsers
468
+ - ivy_snapshot_test_cronjob
409
469
triggers :
410
470
- schedule :
411
- cron : " 0 0 * * *"
471
+ cron : " 0 * * * *"
412
472
filters :
413
473
branches :
414
474
only :
0 commit comments