File tree 2 files changed +22
-0
lines changed
2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -241,6 +241,16 @@ jobs:
241
241
- attach_workspace : *attach_options
242
242
- run : yarn build
243
243
244
+ # This is where we put all the misbehaving and flaky tests so we can fine-tune their conditions
245
+ # and rerun them faster.
246
+ flake-jail :
247
+ executor : action-executor
248
+ steps :
249
+ - attach_workspace : *attach_options
250
+ - run : yarn webdriver-update
251
+ - run : yarn test-large --full --flakey
252
+ - run : yarn test-large --full --flakey --ivy=true
253
+
244
254
build-bazel :
245
255
executor : action-executor
246
256
resource_class : xlarge
@@ -379,6 +389,9 @@ workflows:
379
389
- test-browsers :
380
390
requires :
381
391
- build
392
+ - flake-jail :
393
+ requires :
394
+ - build
382
395
- snapshot_publish :
383
396
<< : *ignore_pull_requests
384
397
requires :
Original file line number Diff line number Diff line change @@ -22,6 +22,12 @@ import { packages } from '../lib/packages';
22
22
const codeMap = require ( '../lib/istanbul-local' ) . codeMap ;
23
23
const Jasmine = require ( 'jasmine' ) ;
24
24
25
+ const knownFlakes = [
26
+ // Rebuild tests in test-large are flakey if not run as the first suite.
27
+ // https://github.com/angular/angular-cli/pull/15204
28
+ 'packages/angular_devkit/build_angular/test/browser/rebuild_spec_large.ts' ,
29
+ ] ;
30
+
25
31
const projectBaseDir = join ( __dirname , '..' ) ;
26
32
require ( 'source-map-support' ) . install ( {
27
33
hookRequire : true ,
@@ -265,6 +271,9 @@ export default function(args: ParsedArgs, logger: logging.Logger) {
265
271
}
266
272
}
267
273
274
+ // Filter in/out flakes according to the --flakey flag.
275
+ tests = tests . filter ( test => ! ! args . flakey == knownFlakes . includes ( test . replace ( / [ \/ \\ ] / g, '/' ) ) ) ;
276
+
268
277
if ( args . shard !== undefined ) {
269
278
// Remove tests that are not part of this shard.
270
279
const shardId = args [ 'shard' ] ;
You can’t perform that action at this time.
0 commit comments