// Copyright 2023 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import createDebug from 'debug'; import { Bootstrap } from './bootstrap'; const debug = createDebug('mock:test:setup-ci'); // Sadly, we can reduce flakiness in CI by launching the app once first export async function mochaGlobalSetup(): Promise { if (!process.env.CI) { return; } debug('Launching app before running all tests'); const bootstrap = new Bootstrap(); await bootstrap.init(); try { const app = await bootstrap.link(); debug('Closing app before running all tests'); await app.close(); await bootstrap.teardown(); debug('Done'); } catch (error) { await bootstrap.saveLogs(); throw error; } }