Skip to content

Commit ae73c3c

Browse files
alan-agius4clydin
authored andcommitted
test: move app-shell tests to flake jail
App-shell builder imports zone.js, which patches the global promises. In some cases this will causes flakiness in tests that run after this one. With this change we move the app-shell tests to the flake jail and force them to be run at the very last. Successful runs when disabling app-shell tests from test-large https://circleci.com/workflow-run/4afb40f2-19ec-46ab-bb94-4153d448e6ad
1 parent 91f052d commit ae73c3c

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

.circleci/config.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,14 @@ jobs:
247247
# This is where we put all the misbehaving and flaky tests so we can fine-tune their conditions
248248
# and rerun them faster.
249249
flake-jail:
250-
executor: action-executor
250+
executor: test-executor
251251
steps:
252252
- custom_attach_workspace
253253
- run: yarn webdriver-update
254254
- run: yarn test-large --full --flakey
255255
- run: yarn test-large --full --flakey --ivy=true
256+
- run: yarn test-large --full --glob packages/angular_devkit/build_angular/test/app-shell/app-shell_spec_large_disabled.ts
257+
- run: yarn test-large --full --glob packages/angular_devkit/build_angular/test/app-shell/app-shell_spec_large_disabled.ts --ivy=true
256258

257259
build-bazel:
258260
executor: action-executor
@@ -418,7 +420,7 @@ workflows:
418420
- build
419421
- flake-jail:
420422
requires:
421-
- build
423+
- build
422424

423425
# Windows jobs
424426
# These jobs only run after their non-windows counterparts finish successfully.

packages/angular_devkit/build_angular/test/app-shell/app-shell_spec_large.ts renamed to packages/angular_devkit/build_angular/test/app-shell/app-shell_spec_large_disabled.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,20 @@
55
* Use of this source code is governed by an MIT-style license that can be
66
* found in the LICENSE file at https://angular.io/license
77
*/
8+
// tslint:disable-next-line: no-global-tslint-disable
89
// tslint:disable:no-big-function
910
import { Architect } from '@angular-devkit/architect/src/architect';
1011
import { getSystemPath, join, normalize, virtualFs } from '@angular-devkit/core';
1112
import * as express from 'express'; // tslint:disable-line:no-implicit-dependencies
1213
import { createArchitect, host } from '../utils';
1314

15+
// This test is excluded by default and will need to be run explicitly.
16+
// This is because App-Shell builder uses zone.js which patched the global Promise
17+
// Currently there is no clean way to unload zone.js which causes tests that run after
18+
// this to be extremly flaky.
19+
20+
// To run this test use:
21+
// yarn test-large --full --glob packages/angular_devkit/build_angular/test/app-shell/app-shell_spec_large_disabled.ts --ivy=true
1422

1523
describe('AppShell Builder', () => {
1624
const target = { project: 'app', target: 'app-shell' };

0 commit comments

Comments
 (0)