Skip to content

Commit fe3897d

Browse files
authored
chore: fix failing builds (#653)
* Update config.yml * chore: bump deps that cause node-gyp errors * fix: cypress, attempting to fix browserstack * chore: swap to browserstack service * chore: add missing deps * chore: retry * chore: stop caching cypress * fix: tests * chore: format names * chore: swap out problematic android
1 parent 1f2eb97 commit fe3897d

File tree

8 files changed

+2754
-1532
lines changed

8 files changed

+2754
-1532
lines changed

.circleci/config.yml

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
aliases:
22
- &restore-cache
33
keys:
4-
- v5-dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}
4+
- v6-dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}
55
# Fallback in case checksum fails
6-
- v5-dependencies-{{ .Branch }}-
6+
- v6-dependencies-{{ .Branch }}-
77

88
- &install
99
run: yarn --no-progress
1010

1111
- &save-cache
1212
paths:
1313
- node_modules
14-
key: v5-dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}
14+
key: v6-dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}
1515

1616
- &cypress-dependencies-install
1717
run:
@@ -22,7 +22,7 @@ version: 2
2222
jobs:
2323
Typecheck:
2424
docker:
25-
- image: circleci/node:8
25+
- image: circleci/node:12
2626
steps:
2727
- checkout
2828
- restore-cache: *restore-cache
@@ -32,7 +32,7 @@ jobs:
3232

3333
Build:
3434
docker:
35-
- image: circleci/node:8
35+
- image: circleci/node:12
3636
steps:
3737
- checkout
3838
- restore-cache: *restore-cache
@@ -43,18 +43,13 @@ jobs:
4343

4444
Web Platform Tests:
4545
docker:
46-
- image: circleci/node:8-browsers
46+
- image: circleci/node:12-browsers
4747
steps:
4848
- checkout
4949
- restore-cache: *restore-cache
5050
- *install
5151
- run: yarn build:umd
5252
- *cypress-dependencies-install
53-
- restore-cache:
54-
keys:
55-
- v5-tests-web-platform-dependencies-{{ .Branch }}-{{ checksum "tests/web-platform/yarn.lock" }}
56-
# Fallback in case checksum fails
57-
- v5-tests-web-platform-dependencies-{{ .Branch }}-
5853
- run:
5954
command: yarn install --no-progress
6055
working_directory: tests/web-platform
@@ -70,24 +65,20 @@ jobs:
7065
path: tests/web-platform/junit
7166
- store_artifacts:
7267
path: tests/web-platform/cypress/screenshots
73-
- save-cache:
74-
paths:
75-
- tests/web-platform/node_modules
76-
key: v5-tests-web-platform-dependencies-{{ .Branch }}-{{ checksum "tests/web-platform/yarn.lock" }}
7768

7869
Browserstack:
7970
docker:
80-
- image: circleci/node:8
71+
- image: circleci/node:12
8172
steps:
8273
- checkout
8374
- restore-cache: *restore-cache
8475
- *install
8576
- run: yarn build:umd
8677
- restore-cache:
8778
keys:
88-
- v5-tests-web-platform-dependencies-{{ .Branch }}-{{ checksum "tests/web-platform/yarn.lock" }}
79+
- v6-tests-web-platform-dependencies-{{ .Branch }}-{{ checksum "tests/web-platform/yarn.lock" }}
8980
# Fallback in case checksum fails
90-
- v5-tests-web-platform-dependencies-{{ .Branch }}-
81+
- v6-tests-web-platform-dependencies-{{ .Branch }}-
9182
- run:
9283
command: yarn install --no-progress
9384
working_directory: tests/web-platform
@@ -106,11 +97,11 @@ jobs:
10697
- save-cache:
10798
paths:
10899
- tests/web-platform/node_modules
109-
key: v5-tests-web-platform-dependencies-{{ .Branch }}-{{ checksum "tests/web-platform/yarn.lock" }}
100+
key: v6-tests-web-platform-dependencies-{{ .Branch }}-{{ checksum "tests/web-platform/yarn.lock" }}
110101

111102
Semantic Release:
112103
docker:
113-
- image: circleci/node:8
104+
- image: circleci/node:12
114105
steps:
115106
- checkout
116107
- restore-cache: *restore-cache

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ dist
1919
es
2020
umd
2121
/index.js
22-
/types.js
22+
/types.js
23+
tests/web-platform/local.log

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "scroll-into-view-if-needed",
33
"description": "Ponyfill for upcoming Element.scrollIntoView() APIs like scrollMode: if-needed, behavior: smooth and block: center",
44
"license": "MIT",
5-
"author": "Stian Didriksen",
5+
"author": "Cody Olsen",
66
"homepage": "https://scroll-into-view-if-needed.netlify.com",
77
"repository": {
88
"type": "git",
@@ -35,14 +35,14 @@
3535
"compute-scroll-into-view": "1.0.11"
3636
},
3737
"devDependencies": {
38-
"@babel/cli": "7.2.3",
39-
"@babel/core": "7.2.2",
40-
"@babel/plugin-external-helpers": "7.2.0",
41-
"@babel/preset-env": "7.3.1",
42-
"@babel/preset-typescript": "7.1.0",
43-
"babel-eslint": "10.0.1",
44-
"babel-plugin-add-module-exports": "1.0.0",
45-
"babel-plugin-dev-expression": "0.2.1",
38+
"@babel/cli": "7.7.7",
39+
"@babel/core": "7.7.7",
40+
"@babel/plugin-external-helpers": "7.7.4",
41+
"@babel/preset-env": "7.7.7",
42+
"@babel/preset-typescript": "7.7.7",
43+
"babel-eslint": "10.0.3",
44+
"babel-plugin-add-module-exports": "1.0.2",
45+
"babel-plugin-dev-expression": "0.2.2",
4646
"concurrently": "4.1.0",
4747
"eslint": "4.19.1",
4848
"eslint-config-prettier": "4.0.0",

tests/web-platform/browserstack.conf.js

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
var browserstack = require('browserstack-local')
2-
31
exports.config = {
2+
services: ['browserstack'],
43
user: process.env.BROWSERSTACK_USERNAME,
54
key: process.env.BROWSERSTACK_ACCESS_KEY,
5+
browserstackLocal: true,
66

77
specs: ['./tests/**'],
88

99
maxInstances: 10,
1010
commonCapabilities: {
1111
name: `${process.env.CIRCLE_JOB}-${process.env.CIRCLE_BUILD_NUM}`,
1212
build: process.env.CIRCLE_BRANCH,
13-
'browserstack.local': true,
1413
project: 'scroll-into-view-if-needed',
1514
},
1615

1716
capabilities: [
1817
{ browser: 'Safari', browser_version: '11.1' },
1918
{ browser: 'IE', browser_version: '11.0' },
19+
{ browser: 'firefox' },
2020
// @TODO investigate how to make iPhone X able to run the tests
21-
//{ os_version: '11.0', device: 'iPhone X', real_mobile: 'true' },
22-
{ os_version: '8.0', device: 'Google Pixel', real_mobile: 'true' },
21+
//{ os_version: '11.0', device: 'iPhone X' },
22+
// @TODO investigate why android fails on the getHTML step, even though the test itself is successful
23+
//{ os_version: '10.0', device: 'Google Pixel 3' },
2324
// Disabling the devices below as we keep hitting a limit that causes tests to completely time out alltogether
2425
//{ browser: 'Edge' },
2526
// { browser: 'firefox' },
@@ -41,25 +42,6 @@ exports.config = {
4142
},
4243
},
4344
framework: 'mocha',
44-
45-
// Code to start browserstack local before start of test
46-
onPrepare: function(config, capabilities) {
47-
console.log('Connecting local')
48-
return new Promise(function(resolve, reject) {
49-
exports.bs_local = new browserstack.Local()
50-
exports.bs_local.start({ key: exports.config.key }, function(error) {
51-
if (error) return reject(error)
52-
console.log('Connected. Now testing...')
53-
54-
resolve()
55-
})
56-
})
57-
},
58-
59-
// Code to stop browserstack local after end of test
60-
onComplete: function(capabilties, specs) {
61-
exports.bs_local.stop(function() {})
62-
},
6345
}
6446

6547
// Code to support common capabilities

tests/web-platform/package.json

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33
"scripts": {
44
"browserstack": "wdio ./browserstack.conf.js",
55
"lint": "tslint -c tslint.json 'src/**/*.ts'",
6-
"start": "serve -l 3000 cypress/",
6+
"start": "serve -l 3000 .",
77
"test": "cypress run --browser chrome --reporter junit --reporter-options 'mochaFile=junit/test-results.xml'"
88
},
99
"dependencies": {
1010
"scroll-into-view-if-needed": "link:../..",
11-
"serve": "7.1.3"
11+
"serve": "11.3.0"
1212
},
1313
"devDependencies": {
14-
"browserstack-local": "1.3.1",
15-
"cypress": "2.1.0",
16-
"wdio-junit-reporter": "0.4.3",
17-
"wdio-mocha-framework": "0.5.13",
18-
"webdriverio": "4.12.0"
14+
"@wdio/browserstack-service": "^5.18.1",
15+
"@wdio/cli": "^5.18.2",
16+
"@wdio/dot-reporter": "^5.16.5",
17+
"@wdio/junit-reporter": "5.18.3",
18+
"@wdio/local-runner": "^5.18.2",
19+
"@wdio/mocha-framework": "5.16.15",
20+
"cypress": "3.8.1"
1921
}
2022
}

tests/web-platform/tests/cssom-view.js

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,40 @@
1+
const assert = require('assert')
2+
13
const tests = [
2-
'css/cssom-view/scrollintoview.html',
4+
'css/cssom-view/scrollintoview',
35
// ignore tests that require newer browser functionality
46
//'css/cssom-view/scrollIntoView-smooth.html',
57
//'css/cssom-view/scrollIntoView-shadow.html',
6-
'custom/borders.html',
8+
'custom/borders',
79
]
10+
console.log('MARK')
11+
console.log(browser.capabilities)
812
const {
9-
device,
10-
os_version = 'latest',
11-
browser: browserName = device,
12-
browser_version = os_version,
13-
} = browser.desiredCapabilities
13+
platform = '',
14+
platformName = platform,
15+
platformVersion = '',
16+
deviceManufacturer = '',
17+
deviceModel = '',
18+
version = '',
19+
browserName = '',
20+
} = browser.capabilities
21+
22+
const funName = `${platformName} ${platformVersion} ${deviceManufacturer} ${deviceModel} ${browserName} ${version}`.replace(
23+
' ',
24+
' '
25+
)
1426

15-
describe(`${browserName}: ${browser_version}`, function() {
27+
describe(funName, function() {
1628
tests.forEach(testName => {
17-
it(testName, () => {
18-
browser.url(`/${testName}`)
19-
browser.waitForVisible('#results', 30000)
20-
const testResults = JSON.parse(
21-
browser.getHTML('#__testharness__results__', false)
22-
)
29+
it(testName, async () => {
30+
await browser.url(`/${testName}`)
31+
const wrapper = await $('#results')
32+
await wrapper.waitForDisplayed(5000)
33+
const results = await $('#__testharness__results__')
34+
//await results.waitForExist(3000)
35+
const testResults = JSON.parse(await results.getHTML(false))
2336
testResults.tests.forEach(testResult => {
24-
if (testResult.message) {
25-
throw new Error(testResult.message)
26-
}
37+
assert.strictEqual(testResult.message, null)
2738
})
2839
})
2940
})

0 commit comments

Comments
 (0)