ci: start devServer before test running to avoid tests timeout (#11297)

This commit is contained in:
Brooooooklyn
2025-03-31 10:39:34 +00:00
parent eda680ccdc
commit 47a8d15878
10 changed files with 117 additions and 73 deletions

View File

@@ -0,0 +1,35 @@
import { getConfig, start } from '@affine-tools/cli/bundle';
import { Workspace } from '@affine-tools/utils/workspace';
import webpack from 'webpack';
export default async () => {
const ws = new Workspace();
const webpackConfig = await getConfig(ws.getPackage('@affine/web'), true);
const definedPort = webpackConfig.devServer?.port ?? 8080;
await new Promise<void>((resolve, reject) => {
start(webpack(webpackConfig), {
...webpackConfig.devServer,
onListening: server => {
// dev server has already started
if (server.options.port !== definedPort) {
server.compiler.close(reject);
server.stop().catch(reject);
resolve();
}
},
proxy: [],
})
.then(server => {
server.middleware?.waitUntilValid?.(stats => {
if (stats?.hasErrors()) {
reject(new Error('Webpack build failed'));
} else {
resolve();
}
});
})
.catch(reject);
});
console.log('Dev server started');
};