mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-27 02:51:57 +02:00
[github] code spaces: add extra-split-tests.json (#33015)
* [github] code spaces: add extra-split-tests.json * [github] address review feedback * [github] add missing bind mount * [monorepo] mount split test configs with :ro * [monorepo] only mount backup/split-tests into web GitOrigin-RevId: 6334a44599a2c8bb79bf1ad698e656c8bee3992b
This commit is contained in:
@@ -11,6 +11,13 @@ import {
|
||||
} from './e2e_test_setup.mjs'
|
||||
import { Project } from '../app/src/models/Project.mjs'
|
||||
import OError from '@overleaf/o-error'
|
||||
import fs from 'node:fs'
|
||||
import Path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
const MONOREPO = Path.dirname(
|
||||
Path.dirname(Path.dirname(Path.dirname(fileURLToPath(import.meta.url))))
|
||||
)
|
||||
|
||||
const { email: USER_EMAIL, password: PASSWORD } = minimist(
|
||||
process.argv.slice(2),
|
||||
@@ -146,8 +153,17 @@ async function main() {
|
||||
if (process.env.NODE_ENV !== 'development') {
|
||||
throw new Error('only available in dev-env')
|
||||
}
|
||||
const extraSplitTests = JSON.parse(
|
||||
await fs.promises.readFile(
|
||||
Path.join(MONOREPO, '.devcontainer/extra-split-tests.json'),
|
||||
'utf-8'
|
||||
)
|
||||
)
|
||||
await waitForDb()
|
||||
await Promise.all([provisionUsers(), provisionSplitTests(true)])
|
||||
await Promise.all([
|
||||
provisionUsers(),
|
||||
provisionSplitTests(true, extraSplitTests),
|
||||
])
|
||||
}
|
||||
|
||||
if (import.meta.main) {
|
||||
|
||||
@@ -139,7 +139,7 @@ async function purgeNewUsers() {
|
||||
)
|
||||
}
|
||||
|
||||
export async function provisionSplitTests(merge = false) {
|
||||
export async function provisionSplitTests(merge = false, extraSplitTests = []) {
|
||||
const backup = Path.join(
|
||||
MONOREPO,
|
||||
'backup',
|
||||
@@ -159,7 +159,8 @@ export async function provisionSplitTests(merge = false) {
|
||||
// Imported from production via https://www.overleaf.com/admin/split-test -> "Copy all split tests" -> "Copy for E2E test setup"
|
||||
const SPLIT_TESTS = JSON.parse(
|
||||
await fs.promises.readFile(
|
||||
Path.join(MONOREPO, 'tools/saas-e2e/split-tests.json')
|
||||
Path.join(MONOREPO, 'tools/saas-e2e/split-tests.json'),
|
||||
'utf-8'
|
||||
)
|
||||
)
|
||||
// Add WIP split test, we can update the JSON blob once this is in production
|
||||
@@ -188,6 +189,9 @@ export async function provisionSplitTests(merge = false) {
|
||||
} else {
|
||||
await SplitTestManager.replaceSplitTests(SPLIT_TESTS)
|
||||
}
|
||||
if (extraSplitTests.length > 0) {
|
||||
await SplitTestManager.mergeSplitTests(extraSplitTests, false)
|
||||
}
|
||||
}
|
||||
|
||||
async function checkNoTableScan() {
|
||||
|
||||
Reference in New Issue
Block a user