what: - runs module and api integration tests in matrix strategy - v28 of jest comes with sharding support, which we can utilize when we upgrade - splits the tests by number of matrix jobs and run them in parallel - This introduced some flakiness in some specs, but couldn't reproduce locally. Those have been skipped for now. - uses swc/jest for added performance - Locally, a chunk took 90 seconds with babel and 30 seconds with swc. - This translated to 2 mins saved per shard in CI, but haven't tested this enough.
32 lines
904 B
JavaScript
32 lines
904 B
JavaScript
const glob = require(`glob`)
|
|
|
|
const pkgs = glob
|
|
.sync(`${__dirname}/*/`)
|
|
.map((p) => p.replace(__dirname, `<rootDir>/integration-tests`))
|
|
|
|
module.exports = {
|
|
testEnvironment: `node`,
|
|
testTimeout: 10000,
|
|
globalSetup: "<rootDir>/integration-tests/globalSetup.js",
|
|
globalTeardown: "<rootDir>/integration-tests/globalTeardown.js",
|
|
rootDir: `../`,
|
|
roots: pkgs,
|
|
projects: [
|
|
"<rootDir>/integration-tests/api/jest.config.js",
|
|
"<rootDir>/integration-tests/plugins/jest.config.js",
|
|
"<rootDir>/integration-tests/repositories/jest.config.js",
|
|
],
|
|
testPathIgnorePatterns: [
|
|
`/examples/`,
|
|
`/www/`,
|
|
`/dist/`,
|
|
`/node_modules/`,
|
|
`__tests__/fixtures`,
|
|
`__testfixtures__`,
|
|
`.cache`,
|
|
],
|
|
transform: { "^.+\\.[jt]s$": ["@swc/jest"] },
|
|
setupFiles: ["<rootDir>/integration-tests/setup-env.js"],
|
|
setupFilesAfterEnv: ["<rootDir>/integration-tests/setup.js"],
|
|
}
|