[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:
Jakob Ackermann
2026-04-28 11:09:27 +02:00
committed by Copybot
parent 0d64a88a46
commit f3ec774e6b
2 changed files with 23 additions and 3 deletions

View File

@@ -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) {

View File

@@ -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() {