Working on large projects should not require rebuilding the same code repeatedly. Tuist Build Insights lets you track build analytics so you can identify trends before local and CI build times become bottlenecks.
Build insights are driven by the tuist inspect build command, typically added to your scheme’s post-action.
To start tracking local build times, you can leverage the tuist inspect build command by adding it to your scheme’s post-action:
::: info
Set the “Provide build settings from” field to the executable or your main build target to capture build configuration.
:::
::: info
If you are not using generated projects, the post-scheme action is not executed when the build fails.
:::
You can execute it in that case by setting runPostActionsOnFailure to YES in the relevant project.pbxprojBuildAction:
<BuildAction
buildImplicitDependencies="YES"
parallelizeBuildables="YES"
runPostActionsOnFailure="YES">
For Mise, activate tuist in the post-action environment:
Terminal window
# -C ensures that Mise loads the configuration from the Mise configuration
# file in the project's root directory.
$HOME/.local/bin/mise x -C $SRCROOT -- tuist inspect build
::: tip MISE & PROJECT PATHS
Your environment’s PATH is not inherited by the scheme post action, so use Mise’s absolute path. This depends on how you installed Mise. Build settings should be inherited from a target so mise can run from $SRCROOT.
:::
Once logged in, local builds are tracked and available from the Tuist dashboard:
::: tip
To quickly access the dashboard, run tuist project show --web from the CLI.
Build insights can include machine-level performance metrics (CPU, memory, network, and disk usage) captured during the build. To enable this, set up a lightweight background daemon that continuously samples system metrics:
Terminal window
tuistsetupinsights
This runs a local daemon that samples metrics in the background. The data is picked up automatically by tuist inspect build and uploaded with the build report.
::: tip CI
Run tuist setup insights on your CI machines before building to capture machine metrics there as well.