diff --git a/private/react-native-fantom/runner/global-setup/globalSetup.js b/private/react-native-fantom/runner/global-setup/globalSetup.js index be1c78b2318..bd6b84bacc4 100644 --- a/private/react-native-fantom/runner/global-setup/globalSetup.js +++ b/private/react-native-fantom/runner/global-setup/globalSetup.js @@ -15,6 +15,8 @@ export default async function globalSetup( globalConfig: {...}, projectConfig: {...}, ): Promise { + process.env.__FANTOM_RUN_ID__ ??= `run-${Date.now()}`; + validateEnvironmentVariables(); if (!isOSS) { diff --git a/private/react-native-fantom/runner/runner.js b/private/react-native-fantom/runner/runner.js index ec1f7a46da4..453beb28202 100644 --- a/private/react-native-fantom/runner/runner.js +++ b/private/react-native-fantom/runner/runner.js @@ -51,11 +51,17 @@ import nullthrows from 'nullthrows'; import path from 'path'; import readline from 'readline'; +const fantomRunID = process.env.__FANTOM_RUN_ID__; +if (fantomRunID == null) { + throw new Error( + 'Expected Fantom run ID to be set by global setup, but it was not (process.env.__FANTOM_RUN_ID__ is null)', + ); +} + const BUILD_OUTPUT_ROOT = path.resolve(__dirname, '..', 'build', 'js'); -fs.mkdirSync(BUILD_OUTPUT_ROOT, {recursive: true}); -const BUILD_OUTPUT_PATH = fs.mkdtempSync( - path.join(BUILD_OUTPUT_ROOT, `run-${Date.now()}-`), -); +const BUILD_OUTPUT_PATH = path.join(BUILD_OUTPUT_ROOT, fantomRunID); + +fs.mkdirSync(BUILD_OUTPUT_PATH, {recursive: true}); function buildError( failureDetail: FailureDetail,