Skip to content

Commit

Permalink
chore: update sauce connect launcher (#638)
Browse files Browse the repository at this point in the history
  • Loading branch information
sissbruecker authored Feb 11, 2025
1 parent 15b8bfc commit e04e49f
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 97 deletions.
80 changes: 37 additions & 43 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,59 +4,53 @@ name: Unit Tests
on: pull_request

jobs:
unit-tests-p2:
name: Polymer 2 on the CI agent
runs-on: ubuntu-latest
steps:
- name: Set up Node 12.x
uses: actions/setup-node@v2
with:
node-version: 12.x

- name: Check out the source code
uses: actions/checkout@v2

- name: Install latest npm
# magi-cli 1.0 requires npm 7 or higher
run: "npm install -g npm@8"

- name: Install global npm dependencies
# bower is needed to run 'bower install'
# polymer-cli is needed to run the lint step
run: "npm install --quiet --no-progress --global bower polymer-cli"

- name: Install project npm dependencies
run: "npm ci"

- name: Install project Bower dependencies
run: "bower install --quiet"

- name: Run automated magi-cli checks
run: "npm run check"

- name: Run a linter
run: "npm run lint"

# the full set of environments is tested with Polymer 3 below
- name: Run unit tests locally (in the VM instance running this job)
run: "xvfb-run -s '-screen 0 1024x768x24' npm test"
# Running local tests is disabled due to outdated dependencies
# see https://github.com/vaadin/components-team-tasks/issues/628
# unit-tests-p2:
# name: Polymer 2 on the CI agent
# runs-on: ubuntu-latest
# steps:
# - name: Set up Node 16.x
# uses: actions/setup-node@v4
# with:
# node-version: 16.x
#
# - name: Check out the source code
# uses: actions/checkout@v2
#
# - name: Install global npm dependencies
# # bower is needed to run 'bower install'
# # polymer-cli is needed to run the lint step
# run: "npm install --quiet --no-progress --global bower polymer-cli"
#
# - name: Install project npm dependencies
# run: "npm ci"
#
# - name: Install project Bower dependencies
# run: "bower install --quiet"
#
# - name: Run automated magi-cli checks
# run: "npm run check"
#
# - name: Run a linter
# run: "npm run lint"
#
# # the full set of environments is tested with Polymer 3 below
# - name: Run unit tests locally (in the VM instance running this job)
# run: "xvfb-run -s '-screen 0 1024x768x24' npm test"

unit-tests-p3:
name: Polymer 3 on SauceLabs
runs-on: ubuntu-latest
steps:
- name: Set up Node 12.x
uses: actions/setup-node@v2
- name: Set up Node 16.x
uses: actions/setup-node@v4
with:
node-version: 12.x
node-version: 16.x

- name: Check out the (Polymer 2) source code
uses: actions/checkout@v2

- name: Install latest npm
# magi-cli 1.0 requires npm 7 or higher
run: "npm install -g npm@8"

- name: Install global npm dependencies
# bower and polymer-modulizer are needed to run the Polymer 3 conversion step
run: "npm install --quiet --no-progress --global bower magi-cli polymer-modulizer"
Expand Down
File renamed without changes.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@ To use the Material theme, import the correspondent file from the `theme/materia

## Running tests from the command line

> [!WARNING]
> Running tests locally from the CLI does not work due to outdated dependencies. Run tests via SauceLabs or in the browser instead.
1. When in the `vaadin-text-field` directory, run `polymer test`


Expand Down
10 changes: 4 additions & 6 deletions package-lock-p3.json
Original file line number Diff line number Diff line change
Expand Up @@ -10023,8 +10023,7 @@
},
"node_modules/sauce-connect-launcher": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz",
"integrity": "sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ==",
"resolved": "git+ssh://git@github.com/vaadin/sauce-connect-launcher.git#20fca782221404fef626c985e975268bfaba05cd",
"dev": true,
"hasInstallScript": true,
"optional": true,
Expand Down Expand Up @@ -21556,10 +21555,9 @@
"dev": true
},
"sauce-connect-launcher": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz",
"integrity": "sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ==",
"version": "git+ssh://git@github.com/vaadin/sauce-connect-launcher.git#20fca782221404fef626c985e975268bfaba05cd",
"dev": true,
"from": "sauce-connect-launcher@vaadin/sauce-connect-launcher#upgrade-sauce-connect-5",
"optional": true,
"requires": {
"adm-zip": "~0.4.3",
Expand Down Expand Up @@ -23665,7 +23663,7 @@
"cleankill": "^2.0.0",
"lodash": "^4.17.10",
"request": "^2.85.0",
"sauce-connect-launcher": "^1.0.0",
"sauce-connect-launcher": "vaadin/sauce-connect-launcher#upgrade-sauce-connect-5",
"temp": "^0.8.1",
"uuid": "^3.2.1"
},
Expand Down
10 changes: 4 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,10 @@
},
"devDependencies": {
"@vaadin/vaadin-component-dev-dependencies": "^3.2.0"
},
"overrides": {
"wct-sauce": {
"sauce-connect-launcher": "vaadin/sauce-connect-launcher#upgrade-sauce-connect-5"
}
}
}
75 changes: 33 additions & 42 deletions wct.conf.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
var envIndex = process.argv.indexOf('--env') + 1;
var env = envIndex ? process.argv[envIndex] : undefined;

// workaround for Android 7+ blocking all HTTP traffic
// see https://wiki.saucelabs.com/display/DOCS/Known+Issues
// add it to your own local `/etc/hosts` to run SauceLabs tests locally
var tunneledLocalhost = 'localhost-for-saucelabs';

module.exports = {
testTimeout: 180 * 1000,
verbose: false,
Expand All @@ -14,55 +19,41 @@ module.exports = {
]
}
},
// MAGI REMOVE START
istanbul: {
dir: './coverage',
reporters: ['text-summary', 'lcov'],
include: [
'**/vaadin-text-field/src/*.html'
],
exclude: [],
thresholds: {
global: {
statements: 87
}
}
}
// MAGI REMOVE END
},

registerHooks: function(context) {
const saucelabsPlatformsMobile = [
'iOS Simulator/iphone@12.2',
'iOS Simulator/iphone@10.3'
];

const saucelabsPlatformsMicrosoft = [
'Windows 10/microsoftedge@18',
'Windows 10/internet explorer@11'
];

const saucelabsPlatformsDesktop = [
'macOS 10.13/safari@latest'
];

const saucelabsPlatforms = [
...saucelabsPlatformsMobile,
...saucelabsPlatformsMicrosoft,
...saucelabsPlatformsDesktop
];

const cronPlatforms = [
'iOS Simulator/ipad@12.2',
'iOS Simulator/iphone@10.3',
const testBrowsers = [
{
deviceName: 'Android GoogleAPI Emulator',
platformName: 'Android',
platformVersion: '11.0',
browserName: 'Chrome',
},
'iOS Simulator/iphone@10.3', // should be 9.x, but SauceLabs does not provide that
'macOS 11/safari@latest',
'Windows 10/microsoftedge@latest',
'Windows 10/internet explorer@11',
'Windows 10/chrome@latest',
'Windows 10/firefox@latest'
'Windows 10/firefox@latest',
];

if (env === 'saucelabs') {
context.options.plugins.sauce.browsers = saucelabsPlatforms;
} else if (env === 'saucelabs-cron') {
context.options.plugins.sauce.browsers = cronPlatforms;
context.options.webserver = context.options.webserver || {};
context.options.webserver.hostname = tunneledLocalhost;
context.options.plugins.sauce.tunnelOptions = {
tunnelDomains: tunneledLocalhost
};

context.options.plugins.sauce.browsers = testBrowsers;
}

// Map legacy tunnel-identifier option to new tunnel-name option
context.hookLate('prepare', (done) => {
context.options.activeBrowsers.forEach((browser) => {
browser['tunnel-name'] = browser['tunnel-identifier'];
delete browser['tunnel-identifier'];
});
done();
});
}
};

0 comments on commit e04e49f

Please sign in to comment.