Skip to content

Commit 9e7451b

Browse files
authored
ci: ignore failing test on macOS + run in band test-coverage (#1216)
Fix problems with CI and tests. More context: #1213 (comment)
1 parent b2a325d commit 9e7451b

File tree

4 files changed

+65
-54
lines changed

4 files changed

+65
-54
lines changed

.github/workflows/ci.yml

+12
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,18 @@ jobs:
2929
uses: actions/setup-python@v4
3030
with:
3131
python-version: '3.11'
32+
# https://github.com/hargasinski/node-canvas/blob/e7abe64833d13ec96449c827b1e14befbdf3105d/.github/workflows/ci.yaml#L70
33+
- name: "macOS dependencies"
34+
if: matrix.os == 'macos-latest'
35+
run: |
36+
brew update
37+
brew install pkg-config cairo pango libpng jpeg giflib librsvg
38+
# https://github.com/hargasinski/node-canvas/blob/e7abe64833d13ec96449c827b1e14befbdf3105d/.github/workflows/ci.yaml#L25
39+
- name: "GNU/Linux dependencies"
40+
if: matrix.os == 'ubuntu-latest'
41+
run: |
42+
sudo apt update
43+
sudo apt install -y libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev librsvg2-dev
3244
- name: Use Node.js ${{ matrix.node }}
3345
uses: actions/setup-node@v4
3446
with:

package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"build": "node scripts/build.js",
1616
"build-test-binary": "cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node",
1717
"test": "node --expose-gc --max_old_space_size=4096 node_modules/jest/bin/jest.js",
18-
"test-coverage": "node --expose-gc --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --globals \"{\\\"coverage\\\":true}\"",
18+
"test-coverage": "node --expose-gc --max_old_space_size=4096 node_modules/jest/bin/jest.js --runInBand --coverage --globals \"{\\\"coverage\\\":true}\"",
1919
"prepublishOnly": "node scripts/build.js --no-cache"
2020
},
2121
"devDependencies": {
@@ -36,7 +36,7 @@
3636
"azure-storage": "^2.10.2",
3737
"browserify-middleware": "^8.1.1",
3838
"bytes": "^3.1.2",
39-
"canvas": "^2.11.2",
39+
"canvas": "3.0.0-rc2",
4040
"chromeless": "^1.5.2",
4141
"consolidate": "^0.16.0",
4242
"copy": "^0.3.2",
@@ -108,5 +108,6 @@
108108
"web-vitals": "^0.2.4",
109109
"webpack": "5.76.0",
110110
"when": "^3.7.8"
111-
}
111+
},
112+
"packageManager": "[email protected]+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
112113
}

test/integration.test.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ const skipOnWindows = [
1313
'tensorflow.js',
1414
]
1515

16+
const skipOnMacOS = [
17+
// https://github.com/Level/leveldown/issues/801
18+
'leveldown.js'
19+
]
20+
1621
let nccRun;
1722
if (coverage) {
1823
nccRun = require(__dirname + "/../src/cli.js");
@@ -44,6 +49,9 @@ for (const integrationTest of fs.readdirSync(__dirname + "/integration")) {
4449
// ignore a few tests known to fail on windows
4550
if (process.platform === 'win32' && skipOnWindows.includes(integrationTest)) continue;
4651

52+
// ignore a few tests known to fail on macOS
53+
if (process.platform === 'darwin' && skipOnMacOS.includes(integrationTest)) continue;
54+
4755
it(`should execute "ncc run ${integrationTest}"`, async () => {
4856
let expectedStdout;
4957
try {
@@ -119,4 +127,3 @@ afterAll(() => {
119127
process.on("unhandledRejection", e => {
120128
throw e;
121129
});
122-

yarn.lock

+41-50
Original file line numberDiff line numberDiff line change
@@ -1938,21 +1938,6 @@
19381938
dependencies:
19391939
lodash "^4.17.21"
19401940

1941-
"@mapbox/node-pre-gyp@^1.0.0":
1942-
version "1.0.5"
1943-
resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz#2a0b32fcb416fb3f2250fd24cb2a81421a4f5950"
1944-
integrity sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==
1945-
dependencies:
1946-
detect-libc "^1.0.3"
1947-
https-proxy-agent "^5.0.0"
1948-
make-dir "^3.1.0"
1949-
node-fetch "^2.6.1"
1950-
nopt "^5.0.0"
1951-
npmlog "^4.1.2"
1952-
rimraf "^3.0.2"
1953-
semver "^7.3.4"
1954-
tar "^6.1.0"
1955-
19561941
"@npmcli/fs@^3.1.0":
19571942
version "3.1.0"
19581943
resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e"
@@ -4377,13 +4362,13 @@ [email protected]:
43774362
resolved "https://registry.yarnpkg.com/canonical-json/-/canonical-json-0.0.4.tgz#6579c072c3db5c477ec41dc978fbf2b8f41074a3"
43784363
integrity sha1-ZXnAcsPbXEd+xB3JePvyuPQQdKM=
43794364

4380-
canvas@^2.11.2:
4381-
version "2.11.2"
4382-
resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.11.2.tgz#553d87b1e0228c7ac0fc72887c3adbac4abbd860"
4383-
integrity sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==
4365+
canvas@3.0.0-rc2:
4366+
version "3.0.0-rc2"
4367+
resolved "https://registry.yarnpkg.com/canvas/-/canvas-3.0.0-rc2.tgz#710a91520e98b5f6829120f48980ce3fea985d15"
4368+
integrity sha512-esx4bYDznnqgRX4G8kaEaf0W3q8xIc51WpmrIitDzmcoEgwnv9wSKdzT6UxWZ4wkVu5+ileofppX0TpyviJRdQ==
43844369
dependencies:
4385-
"@mapbox/node-pre-gyp" "^1.0.0"
4386-
nan "^2.17.0"
4370+
node-addon-api "^7.0.0"
4371+
prebuild-install "^7.1.1"
43874372
simple-get "^3.0.3"
43884373

43894374
capture-stack-trace@^1.0.0:
@@ -5483,11 +5468,6 @@ detect-indent@~5.0.0:
54835468
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
54845469
integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50=
54855470

5486-
detect-libc@^1.0.3:
5487-
version "1.0.3"
5488-
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
5489-
integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
5490-
54915471
detect-libc@^2.0.0:
54925472
version "2.0.1"
54935473
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
@@ -10324,7 +10304,7 @@ make-dir@^1.0.0:
1032410304
dependencies:
1032510305
pify "^3.0.0"
1032610306

10327-
make-dir@^3.0.0, make-dir@^3.1.0:
10307+
make-dir@^3.0.0:
1032810308
version "3.1.0"
1032910309
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
1033010310
integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
@@ -11042,7 +11022,7 @@ mysql@^2.16.0:
1104211022
safe-buffer "5.1.2"
1104311023
sqlstring "2.3.1"
1104411024

11045-
nan@^2.12.1, nan@^2.13.2, nan@^2.17.0:
11025+
nan@^2.12.1, nan@^2.13.2:
1104611026
version "2.17.0"
1104711027
resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb"
1104811028
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
@@ -11121,6 +11101,11 @@ node-addon-api@^6.1.0:
1112111101
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76"
1112211102
integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==
1112311103

11104+
node-addon-api@^7.0.0:
11105+
version "7.1.1"
11106+
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558"
11107+
integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==
11108+
1112411109
node-domexception@^1.0.0:
1112511110
version "1.0.0"
1112611111
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
@@ -11253,13 +11238,6 @@ nopt@^4.0.1, nopt@^4.0.3:
1125311238
abbrev "1"
1125411239
osenv "^0.1.4"
1125511240

11256-
nopt@^5.0.0:
11257-
version "5.0.0"
11258-
resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
11259-
integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
11260-
dependencies:
11261-
abbrev "1"
11262-
1126311241
nopt@^6.0.0:
1126411242
version "6.0.0"
1126511243
resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d"
@@ -14422,7 +14400,7 @@ string-length@^4.0.1:
1442214400
char-regex "^1.0.2"
1442314401
strip-ansi "^6.0.0"
1442414402

14425-
"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3:
14403+
"string-width-cjs@npm:string-width@^4.2.0":
1442614404
version "4.2.3"
1442714405
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1442814406
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -14448,6 +14426,15 @@ string-width@^1.0.1:
1444814426
is-fullwidth-code-point "^2.0.0"
1444914427
strip-ansi "^4.0.0"
1445014428

14429+
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3:
14430+
version "4.2.3"
14431+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
14432+
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
14433+
dependencies:
14434+
emoji-regex "^8.0.0"
14435+
is-fullwidth-code-point "^3.0.0"
14436+
strip-ansi "^6.0.1"
14437+
1445114438
string-width@^3.0.0, string-width@^3.1.0:
1445214439
version "3.1.0"
1445314440
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
@@ -14515,7 +14502,7 @@ stringify-package@^1.0.0, stringify-package@^1.0.1:
1451514502
resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85"
1451614503
integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==
1451714504

14518-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.1:
14505+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
1451914506
version "6.0.1"
1452014507
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1452114508
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -14550,6 +14537,13 @@ strip-ansi@^6.0.0:
1455014537
dependencies:
1455114538
ansi-regex "^5.0.0"
1455214539

14540+
strip-ansi@^6.0.1:
14541+
version "6.0.1"
14542+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
14543+
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
14544+
dependencies:
14545+
ansi-regex "^5.0.1"
14546+
1455314547
strip-ansi@^7.0.1:
1455414548
version "7.1.0"
1455514549
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -14875,18 +14869,6 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.13:
1487514869
safe-buffer "^5.2.1"
1487614870
yallist "^3.1.1"
1487714871

14878-
tar@^6.1.0:
14879-
version "6.1.2"
14880-
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.2.tgz#1f045a90a6eb23557a603595f41a16c57d47adc6"
14881-
integrity sha512-EwKEgqJ7nJoS+s8QfLYVGMDmAsj+StbI2AM/RTHeUSsOw6Z8bwNBRv5z3CY0m7laC5qUAqruLX5AhMuc5deY3Q==
14882-
dependencies:
14883-
chownr "^2.0.0"
14884-
fs-minipass "^2.0.0"
14885-
minipass "^3.0.0"
14886-
minizlib "^2.1.1"
14887-
mkdirp "^1.0.3"
14888-
yallist "^4.0.0"
14889-
1489014872
tar@^6.1.11:
1489114873
version "6.1.15"
1489214874
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69"
@@ -16246,7 +16228,7 @@ worker-farm@^1.6.0, worker-farm@^1.7.0:
1624616228
dependencies:
1624716229
errno "~0.1.7"
1624816230

16249-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
16231+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
1625016232
version "7.0.0"
1625116233
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1625216234
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -16281,6 +16263,15 @@ wrap-ansi@^6.2.0:
1628116263
string-width "^4.1.0"
1628216264
strip-ansi "^6.0.0"
1628316265

16266+
wrap-ansi@^7.0.0:
16267+
version "7.0.0"
16268+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
16269+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
16270+
dependencies:
16271+
ansi-styles "^4.0.0"
16272+
string-width "^4.1.0"
16273+
strip-ansi "^6.0.0"
16274+
1628416275
wrap-ansi@^8.1.0:
1628516276
version "8.1.0"
1628616277
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"

0 commit comments

Comments
 (0)