From 5e5c91241b8c287f92de735f140f863fc69059ca Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Fri, 10 Jul 2026 18:49:31 -0230 Subject: [PATCH] ci: verbose setup during CI The setup script has been updated to use a verbose logger in CI, and to forward logs from each sub-step to the parent process. This will make it easier to understand delays and diagnose problems. This verbose mode is also usable locally with the new `--verbose` flag. --- scripts/setup.mjs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/setup.mjs b/scripts/setup.mjs index 903585c417d..41c7daf0a77 100644 --- a/scripts/setup.mjs +++ b/scripts/setup.mjs @@ -1,16 +1,18 @@ /* eslint-disable import-x/no-nodejs-modules */ import fs from 'fs'; -import { $ } from 'execa'; +import { $ as runScript } from 'execa'; import { Listr } from 'listr2'; import path from 'path'; const IS_CI = process.env.CI; const IS_OSX = process.platform === 'darwin'; + // iOS builds are enabled by default on macOS only but can be enabled or disabled explicitly let BUILD_IOS = IS_OSX; let IS_NODE = false; let BUILD_ANDROID = true let INSTALL_PODS; +let VERBOSE = IS_CI; // GitHub CI pipeline flag - defaults to false let GITHUB_CI = false; const args = process.argv.slice(2) || []; @@ -37,6 +39,9 @@ for (const arg of args) { case '--build-on-github-ci': GITHUB_CI = true; continue; + case '--verbose': + VERBOSE = true; + continue; default: throw new Error(`Unrecognized CLI arg ${arg}`); } @@ -47,6 +52,7 @@ if (INSTALL_PODS === undefined) { if (INSTALL_PODS && !BUILD_IOS) { throw new Error('Cannot install pods if iOS setup has been skipped'); } +const $ = runScript(VERBOSE ? {stdio: 'inherit'} : undefined); const rendererOptions = { collapseErrors: false, @@ -384,6 +390,7 @@ const concurrentTasks = { const tasks = new Listr([prepareDependenciesTask, concurrentTasks], { concurrent: false, exitOnError: true, + renderer: VERBOSE ? 'verbose' : 'default', rendererOptions, });