10
10
// If the target is set to null, then the browser is not run anywhere during CI.
11
11
// If a category becomes empty (e.g. BS and required), then the corresponding job must be commented
12
12
// out in the CI configuration.
13
- var CIconfiguration = {
14
- // Chrome and Firefox run as part of the Bazel browser tests, so we do not run them as
15
- // part of the legacy Saucelabs tests.
16
- 'Chrome' : { unitTest : { target : null , required : false } , e2e : { target : null , required : true } } ,
17
- 'Firefox' : { unitTest : { target : null , required : false } , e2e : { target : null , required : true } } ,
18
- // Set ESR as a not required browser as it fails for Ivy acceptance tests.
19
- 'FirefoxESR' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
20
- // Disabled because using the "beta" channel of Chrome can cause non-deterministic CI results.
21
- // e.g. a new chrome beta version has been released, but the Saucelabs selenium server does
22
- // not provide a chromedriver version that is compatible with the new beta.
23
- 'ChromeBeta' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : false } } ,
24
- 'ChromeDev' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
25
- // FirefoxBeta and FirefoxDev should be target:'BS' or target:'SL', and required:true
26
- // Currently deactivated due to https://github.com/angular/angular/issues/7560
27
- 'FirefoxBeta' : { unitTest : { target : null , required : true } , e2e : { target : null , required : false } } ,
28
- 'FirefoxDev' : { unitTest : { target : null , required : true } , e2e : { target : null , required : true } } ,
29
- 'Edge' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
30
- 'Android10' : { unitTest : { target : 'SL' , required : true } , e2e : { target : null , required : true } } ,
31
- 'Android11' : { unitTest : { target : 'SL' , required : true } , e2e : { target : null , required : true } } ,
32
- 'Safari12' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
33
- 'Safari13' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
34
- 'iOS12' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
35
- 'iOS13' : { unitTest : { target : 'SL' , required : false } , e2e : { target : null , required : true } } ,
36
- 'WindowsPhone' : { unitTest : { target : 'BS' , required : false } , e2e : { target : null , required : true } }
13
+ const config = {
14
+ 'Android10' : { unitTest : { target : 'SL' , required : true } } ,
15
+ 'Android11' : { unitTest : { target : 'SL' , required : true } } ,
37
16
} ;
38
17
39
- var customLaunchers = {
40
- 'DartiumWithWebPlatform' :
41
- { base : 'Dartium' , flags : [ '--enable-experimental-web-platform-features' ] } ,
42
- 'ChromeNoSandbox' : { base : 'Chrome' , flags : [ '--no-sandbox' ] } ,
43
- 'SL_CHROME' : { base : 'SauceLabs' , browserName : 'chrome' , version : '81' } ,
44
- 'SL_CHROMEBETA' : { base : 'SauceLabs' , browserName : 'chrome' , version : 'beta' } ,
45
- 'SL_CHROMEDEV' : { base : 'SauceLabs' , browserName : 'chrome' , version : 'dev' } ,
46
- 'SL_FIREFOX' : { base : 'SauceLabs' , browserName : 'firefox' , version : '76' } ,
47
- // Firefox 68 is the current ESR vesion
48
- 'SL_FIREFOXESR' : { base : 'SauceLabs' , browserName : 'firefox' , version : '68' } ,
49
- 'SL_FIREFOXBETA' :
50
- { base : 'SauceLabs' , platform : 'Windows 10' , browserName : 'firefox' , version : 'beta' } ,
51
- 'SL_FIREFOXDEV' :
52
- { base : 'SauceLabs' , platform : 'Windows 10' , browserName : 'firefox' , version : 'dev' } ,
53
- 'SL_SAFARI12' :
54
- { base : 'SauceLabs' , browserName : 'safari' , platform : 'macOS 10.13' , version : '12.1' } ,
55
- 'SL_SAFARI13' :
56
- { base : 'SauceLabs' , browserName : 'safari' , platform : 'macOS 10.15' , version : '13.0' } ,
57
- 'SL_IOS12' : {
58
- base : 'SauceLabs' ,
59
- browserName : 'Safari' ,
60
- platform : 'iOS' ,
61
- version : '12.0' ,
62
- device : 'iPhone 7 Simulator'
63
- } ,
64
- 'SL_IOS13' : {
65
- base : 'SauceLabs' ,
66
- browserName : 'Safari' ,
67
- platform : 'iOS' ,
68
- version : '13.0' ,
69
- device : 'iPhone 11 Simulator'
70
- } ,
71
- 'SL_EDGE' : {
72
- base : 'SauceLabs' ,
73
- browserName : 'MicrosoftEdge' ,
74
- platform : 'Windows 10' ,
75
- version : '14.14393'
76
- } ,
18
+ /** Whether browsers should be remotely acquired in debug mode. */
19
+ const debugMode = false ;
20
+
21
+ const customLaunchers = {
77
22
'SL_ANDROID10' : {
78
23
base : 'SauceLabs' ,
79
24
browserName : 'Chrome' ,
80
- platform : 'Android' ,
81
- version : '10.0' ,
82
- device : 'Android GoogleAPI Emulator'
25
+ platformName : 'Android' ,
26
+ platformVersion : '10.0' ,
27
+ deviceName : 'Google Pixel 3a GoogleAPI Emulator' ,
28
+ appiumVersion : '1.20.2' ,
29
+ extendedDebugging : debugMode ,
83
30
} ,
84
31
'SL_ANDROID11' : {
85
32
base : 'SauceLabs' ,
86
33
browserName : 'Chrome' ,
87
- platform : 'Android' ,
88
- version : '11.0' ,
89
- device : 'Android GoogleAPI Emulator'
34
+ platformName : 'Android' ,
35
+ platformVersion : '11.0' ,
36
+ deviceName : 'Google Pixel 3a GoogleAPI Emulator' ,
37
+ appiumVersion : '1.20.2' ,
38
+ extendedDebugging : debugMode ,
90
39
} ,
91
40
} ;
92
41
93
- var sauceAliases = {
94
- 'ALL' : Object . keys ( customLaunchers ) . filter ( function ( item ) {
95
- return customLaunchers [ item ] . base == 'SauceLabs' ;
96
- } ) ,
97
- 'DESKTOP' : [ 'SL_CHROME' , 'SL_FIREFOX' , 'SL_EDGE' , 'SL_SAFARI12' , 'SL_SAFARI13' , 'SL_FIREFOXESR' ] ,
98
- 'MOBILE' : [ 'SL_ANDROID10' , 'SL_ANDROID11' , 'SL_IOS12' , 'SL_IOS13' ] ,
99
- 'ANDROID' : [ 'SL_ANDROID10' , 'SL_ANDROID11' ] ,
100
- 'FIREFOX' : [ 'SL_FIREFOXESR' ] ,
101
- 'IOS' : [ 'SL_IOS12' , 'SL_IOS13' ] ,
102
- 'SAFARI' : [ 'SL_SAFARI12' , 'SL_SAFARI13' ] ,
103
- 'BETA' : [ 'SL_CHROMEBETA' , 'SL_FIREFOXBETA' ] ,
104
- 'DEV' : [ 'SL_CHROMEDEV' , 'SL_FIREFOXDEV' ] ,
42
+ const sauceAliases = {
105
43
'CI_REQUIRED' : buildConfiguration ( 'unitTest' , 'SL' , true ) ,
106
44
'CI_OPTIONAL' : buildConfiguration ( 'unitTest' , 'SL' , false )
107
45
} ;
@@ -112,9 +50,9 @@ module.exports = {
112
50
} ;
113
51
114
52
function buildConfiguration ( type , target , required ) {
115
- return Object . keys ( CIconfiguration )
53
+ return Object . keys ( config )
116
54
. filter ( ( item ) => {
117
- var conf = CIconfiguration [ item ] [ type ] ;
55
+ const conf = config [ item ] [ type ] ;
118
56
return conf . required === required && conf . target === target ;
119
57
} )
120
58
. map ( ( item ) => target + '_' + item . toUpperCase ( ) ) ;
0 commit comments