forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
browser-providers.conf.js
61 lines (55 loc) · 1.86 KB
/
browser-providers.conf.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
// Unique place to configure the browsers which are used in the different CI jobs in Sauce Labs (SL)
// If the target is set to null, then the browser is not run anywhere during CI.
// If a category becomes empty (e.g. BS and required), then the corresponding job must be commented
// out in the CI configuration.
const config = {
'Android11': {unitTest: {target: 'SL', required: true}},
'Android12': {unitTest: {target: 'SL', required: true}},
};
/** Whether browsers should be remotely acquired in debug mode. */
const debugMode = false;
// Specific platform configuration can be found at:
// https://saucelabs.com/platform/platform-configurator
const customLaunchers = {
'SL_ANDROID11': {
base: 'SauceLabs',
browserName: 'Chrome',
platformName: 'Android',
platformVersion: '11.0',
deviceName: 'Google Pixel 3a GoogleAPI Emulator',
appiumVersion: '1.20.2',
extendedDebugging: debugMode,
},
'SL_ANDROID12': {
base: 'SauceLabs',
browserName: 'Chrome',
platformName: 'Android',
platformVersion: '12.0',
deviceName: 'Google Pixel 4a (5G) GoogleAPI Emulator',
appiumVersion: '1.22.1',
extendedDebugging: debugMode,
},
};
const sauceAliases = {
'CI_REQUIRED': buildConfiguration('unitTest', 'SL', true),
'CI_OPTIONAL': buildConfiguration('unitTest', 'SL', false),
};
module.exports = {
customLaunchers: customLaunchers,
sauceAliases: sauceAliases,
};
function buildConfiguration(type, target, required) {
return Object.keys(config)
.filter((item) => {
const conf = config[item][type];
return conf.required === required && conf.target === target;
})
.map((item) => target + '_' + item.toUpperCase());
}