diff --git a/.github/workflows/ci-components.yml b/.github/workflows/ci-components.yml index 2d835f6655..b6ac4ee731 100644 --- a/.github/workflows/ci-components.yml +++ b/.github/workflows/ci-components.yml @@ -59,6 +59,7 @@ jobs: working-directory: showcase env: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_COMPONENTS }} + PERCY_PARALLEL_TOTAL: 8 try-scenarios: name: ${{ matrix.try-scenario }} diff --git a/packages/components/README.md b/packages/components/README.md index 2eea268912..4ea79a9516 100644 --- a/packages/components/README.md +++ b/packages/components/README.md @@ -1,3 +1,4 @@ +drop design-system-components ============================================================================== diff --git a/showcase/package.json b/showcase/package.json index de6f17df2e..722c7b02b3 100644 --- a/showcase/package.json +++ b/showcase/package.json @@ -27,9 +27,9 @@ "lint:types": "glint", "start": "yarn build:packages && ember serve", "test": "concurrently \"yarn:lint\" \"yarn:test:*\" --names \"lint,test:\"", - "test:ember": "yarn build:packages && ember test", + "test:ember": "yarn build:packages && ember exam --split=8 --parallel", "test:ember-compatibility": "ember try:each", - "test:ember:percy": "percy exec ember test", + "test:ember:percy": "percy exec -- ember exam --split=8 --parallel", "test:a11y": "ENABLE_A11Y_AUDIT=true ember test --server", "test:a11y-report": "ENABLE_A11Y_MIDDLEWARE_REPORTER=true ember test" }, @@ -74,6 +74,7 @@ "ember-cli-terser": "^4.0.2", "ember-concurrency": "^4.0.2", "ember-deep-tracked": "^2.0.0", + "ember-exam": "^9.0.0", "ember-load-initializers": "^2.1.2", "ember-modifier": "^4.1.0", "ember-page-title": "^8.2.3", diff --git a/showcase/testem.js b/showcase/testem.js index 3b807279db..b41f6cfabd 100644 --- a/showcase/testem.js +++ b/showcase/testem.js @@ -6,6 +6,9 @@ 'use strict'; module.exports = { + // setting parallel execution to -1 means auto-detect and use the maximum number of parallel processes possible + // while setting it to 1 means executing tests serially, one after the other + parallel: process.env.CI ? -1 : 1, test_page: 'tests/index.html?hidepassed', disable_watching: true, launch_in_ci: ['Chrome'], diff --git a/showcase/tests/test-helper.ts b/showcase/tests/test-helper.ts index 238075b67f..0483ee6796 100644 --- a/showcase/tests/test-helper.ts +++ b/showcase/tests/test-helper.ts @@ -8,7 +8,8 @@ import config from 'showcase/config/environment'; import * as QUnit from 'qunit'; import { setApplication } from '@ember/test-helpers'; import { setup } from 'qunit-dom'; -import { start } from 'ember-qunit'; +// @ts-expect-error: there no types for this package +import start from 'ember-exam/test-support/start'; import { DEFAULT_A11Y_TEST_HELPER_NAMES, setRunOptions, diff --git a/yarn.lock b/yarn.lock index 711eedee30..b649525071 100644 --- a/yarn.lock +++ b/yarn.lock @@ -332,7 +332,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.24.7": +"@babel/core@npm:^7.23.6, @babel/core@npm:^7.24.7": version: 7.24.7 resolution: "@babel/core@npm:7.24.7" dependencies: @@ -7235,6 +7235,13 @@ __metadata: languageName: node linkType: hard +"are-we-there-yet@npm:^4.0.0": + version: 4.0.2 + resolution: "are-we-there-yet@npm:4.0.2" + checksum: 10/86feb4e8384b0820adaf7693bd02f602d001b0e5f051744dc2d05b30b74f9bd3e1e6f1a0c70fdadeddd837b8e5f8f77569a1a286078fb39b32a0a8f3724660d7 + languageName: node + linkType: hard + "arg@npm:^4.1.0": version: 4.1.3 resolution: "arg@npm:4.1.3" @@ -11674,6 +11681,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.2.0": + version: 4.3.5 + resolution: "debug@npm:4.3.5" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/cb6eab424c410e07813ca1392888589972ce9a32b8829c6508f5e1f25f3c3e70a76731610ae55b4bbe58d1a2fffa1424b30e97fa8d394e49cd2656a9643aedd2 + languageName: node + linkType: hard + "decamelize-keys@npm:^1.0.0, decamelize-keys@npm:^1.1.0": version: 1.1.1 resolution: "decamelize-keys@npm:1.1.1" @@ -12341,7 +12360,7 @@ __metadata: languageName: node linkType: hard -"ember-auto-import@npm:^2.7.3": +"ember-auto-import@npm:^2.7.0, ember-auto-import@npm:^2.7.3": version: 2.7.3 resolution: "ember-auto-import@npm:2.7.3" dependencies: @@ -13109,6 +13128,31 @@ __metadata: languageName: node linkType: hard +"ember-exam@npm:^9.0.0": + version: 9.0.0 + resolution: "ember-exam@npm:9.0.0" + dependencies: + "@babel/core": "npm:^7.23.6" + chalk: "npm:^5.3.0" + cli-table3: "npm:^0.6.0" + debug: "npm:^4.2.0" + ember-auto-import: "npm:^2.7.0" + ember-cli-babel: "npm:^8.2.0" + execa: "npm:^8.0.1" + fs-extra: "npm:^11.2.0" + js-yaml: "npm:^4.0.0" + npmlog: "npm:^7.0.0" + rimraf: "npm:^5.0.0" + semver: "npm:^7.3.2" + silent-error: "npm:^1.1.1" + peerDependencies: + ember-qunit: "*" + ember-source: ">= 4.0.0" + qunit: "*" + checksum: 10/bc07b363fea763864e06a606c5aad421e59320d68765d9132cc3d0cc40b3d9302f5893a4aed977c12bb22c67c7aff1593ed5a68cd575e1924c84bc08063f2792 + languageName: node + linkType: hard + "ember-fetch@npm:^8.1.2": version: 8.1.2 resolution: "ember-fetch@npm:8.1.2" @@ -14737,6 +14781,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10/d2ab5fe1e2bb92b9788864d0713f1fce9a07c4594e272c0c97bc18c90569897ab262e4ea58d27a694d288227a2e24f16f5e2575b44224ad9983b799dc7f1098d + languageName: node + linkType: hard + "execall@npm:^1.0.0": version: 1.0.0 resolution: "execall@npm:1.0.0" @@ -15695,7 +15756,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.1.1": +"fs-extra@npm:^11.1.1, fs-extra@npm:^11.2.0": version: 11.2.0 resolution: "fs-extra@npm:11.2.0" dependencies: @@ -15924,6 +15985,22 @@ __metadata: languageName: node linkType: hard +"gauge@npm:^5.0.0": + version: 5.0.2 + resolution: "gauge@npm:5.0.2" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.3" + console-control-strings: "npm:^1.1.0" + has-unicode: "npm:^2.0.1" + signal-exit: "npm:^4.0.1" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.5" + checksum: 10/7ed6930e03622e3651182d9312ea763e208e7e71bf126505a59a4424820af2715fdbc4f0655f92a092f3f1015c425094421c9d1a898dbe33cf6779d3e7e91e5c + languageName: node + linkType: hard + "gensequence@npm:^6.0.0": version: 6.0.0 resolution: "gensequence@npm:6.0.0" @@ -16023,6 +16100,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10/dde5511e2e65a48e9af80fea64aff11b4921b14b6e874c6f8294c50975095af08f41bfb0b680c887f28b566dd6ec2cb2f960f9d36a323359be324ce98b766e9e + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -16140,6 +16224,22 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.7": + version: 10.4.2 + resolution: "glob@npm:10.4.2" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10/e412776b5952a818eba790c830bea161c9a56813fd767d8c4c49f855603b1fb962b3e73f1f627a47298a57d2992b9f0f2fe15cf93e74ecaaa63fb45d63fdd090 + languageName: node + linkType: hard + "glob@npm:^5.0.10": version: 5.0.15 resolution: "glob@npm:5.0.15" @@ -17105,6 +17205,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10/30f8870d831cdcd2d6ec0486a7d35d49384996742052cee792854273fa9dd9e7d5db06bb7985d4953e337e10714e994e0302e90dc6848069171b05ec836d65b0 + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -17927,6 +18034,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10/172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -18220,6 +18334,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^3.1.2": + version: 3.4.0 + resolution: "jackspeak@npm:3.4.0" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10/5032c43c0c1fb92e72846ce496df559214253bc6870c90399cbd7858571c53169d9494b7c152df04abcb75f2fb5e9cffe65651c67d573380adf3a482b150d84b + languageName: node + linkType: hard + "jest-changed-files@npm:^29.7.0": version: 29.7.0 resolution: "jest-changed-files@npm:29.7.0" @@ -18703,7 +18830,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -19685,6 +19812,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.2.0": + version: 10.2.2 + resolution: "lru-cache@npm:10.2.2" + checksum: 10/ff1a496d30b5eaec2c9079080965bb0cede203cf878371f7033a007f1e54cd4aa13cc8abf7ccec4c994a83a22ed5476e83a55bb57cc07e6c1547a42937e42c37 + languageName: node + linkType: hard + "lru-cache@npm:^4.0.1": version: 4.1.5 resolution: "lru-cache@npm:4.1.5" @@ -20702,6 +20836,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10/995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 + languageName: node + linkType: hard + "mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": version: 1.0.1 resolution: "mimic-response@npm:1.0.1" @@ -20772,7 +20913,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" dependencies: @@ -20893,6 +21034,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -21335,6 +21483,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^5.1.0": + version: 5.1.0 + resolution: "npm-run-path@npm:5.1.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10/dc184eb5ec239d6a2b990b43236845332ef12f4e0beaa9701de724aa797fe40b6bbd0157fb7639d24d3ab13f5d5cf22d223a19c6300846b8126f335f788bee66 + languageName: node + linkType: hard + "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -21347,6 +21504,18 @@ __metadata: languageName: node linkType: hard +"npmlog@npm:^7.0.0": + version: 7.0.1 + resolution: "npmlog@npm:7.0.1" + dependencies: + are-we-there-yet: "npm:^4.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^5.0.0" + set-blocking: "npm:^2.0.0" + checksum: 10/37cc2796a4b47bb82b5fc5d111f812d5856b30f8dd29d3e9ecce30fe966bd4389926e818ec5e7f11e9fcc60220ef9c65d7e4c56dd5101ee19d8f5e60320e558b + languageName: node + linkType: hard + "nth-check@npm:^1.0.2": version: 1.0.2 resolution: "nth-check@npm:1.0.2" @@ -21579,6 +21748,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10/0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + languageName: node + linkType: hard + "optionator@npm:^0.9.1, optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" @@ -21837,6 +22015,13 @@ __metadata: languageName: node linkType: hard +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: 10/ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea + languageName: node + linkType: hard + "package-json@npm:^6.3.0, package-json@npm:^6.5.0": version: 6.5.0 resolution: "package-json@npm:6.5.0" @@ -22049,6 +22234,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10/8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 + languageName: node + linkType: hard + "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -22089,6 +22281,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10/5e8845c159261adda6f09814d7725683257fcc85a18f329880ab4d7cc1d12830967eae5d5894e453f341710d5484b8fdbbd4d75181b4d6e1eb2f4dc7aeadc434 + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -23888,6 +24090,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.0": + version: 5.0.7 + resolution: "rimraf@npm:5.0.7" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10/1e3cecfe59ee2383dfd9ba5373caeed48ed941318a0360119419b7dffc63115661408b9427f67e1f66b5bbb8855a3953db09e55a7362b3df904a44453dfa22fb + languageName: node + linkType: hard + "rollup-plugin-copy-assets@npm:^2.0.3": version: 2.0.3 resolution: "rollup-plugin-copy-assets@npm:2.0.3" @@ -24633,6 +24846,7 @@ __metadata: ember-cli-terser: "npm:^4.0.2" ember-concurrency: "npm:^4.0.2" ember-deep-tracked: "npm:^2.0.0" + ember-exam: "npm:^9.0.0" ember-load-initializers: "npm:^2.1.2" ember-modifier: "npm:^4.1.0" ember-page-title: "npm:^8.2.3" @@ -24697,7 +24911,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f @@ -25563,6 +25777,13 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10/23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 + languageName: node + linkType: hard + "strip-indent@npm:^2.0.0": version: 2.0.0 resolution: "strip-indent@npm:2.0.0"