SISO(1)

NAME
siso - Ninja-compatible build system optimized for remote execution

SYNOPSIS
siso [flags] [command] [arguments]

DESCRIPTION
siso is a build tool that aims to significantly speed up Chromium and Android build. It is a drop-in replacement for Ninja. It runs build actions on RBE natively. It avoids stat, disk and network I/O as much as possible. It reduces CPU usage and memory consumption.

EXAMPLES

siso ninja -C out/Default

OPTIONS

-credential_helper path
    path to a credential helper. see https://github.com/EngFlow/credential-helper-spec/blob/main/spec.md
    "luci-auth" uses luci-auth.
    "gcloud" uses gcloud.
    "google-application-default" or "" uses Google Application Default Credentials.
    "mTLS" disables per RPC credentials.
    environment variable SISO_CREDENTIAL_HELPER sets default value.

-version
    print version

-pprof_addr address
    listen address for "go tool pprof". e.g. "localhost:6060"

-cpuprofile file
    write cpu profile to this file

-memprofile file
    write memory profile to this file

-mutexprofile file
    write mutex profile to this file

-blockprofile file
    write block profile to this file

-blockprof_rate rate
    block profile rate

-mutexprof_frac fraction
    mutex profile fraction

-trace file
    go trace output for "go tool trace"

COMMANDS

ninja
    build the requests targets as ninja

recall
    recall action

fetch
    fetch contents

isolate
    isolate uploads and computes tree digests

proxy
    proxy RE-API service

fs  command group to access siso hashfs data

metrics
    command group to analyze siso_metrics.json

ps  display running steps of ninja build

query
    command group to query ninja build graph

report
    report siso logs

webui
    starts the experimental webui

auth-check
    prints current auth status

login
    login to siso system

logout
    logout from siso system

ninjafrontend
    ninjafrontend reader

sandbox
    run in sandbox

scandeps
    run scandeps

collector
    OTEL collector daemon

install-helper
    helper tool to install executable

version
    prints the executable version

Use siso help to display commands. Use siso help command for more information about a command. Use siso flags to display all flags.

ENVIRONMENT

SISO_CREDENTIAL_HELPER
    sets the default value of -credential_helper. It specifies a path to a credential helper program. See https://github.com/EngFlow/credential-helper-spec/blob/main/spec.md

SISO_PROJECT
    sets the default value of --project, to specify Google Cloud Project.

SISO_REAPI_INSTANCE
    sets the default value of -reapi_instance, to specify RE API instance name.

SISO_REAPI_ADDRESS
    sets the default value of -reapi_address, to specify RE API service address.

SISO_REAPI_CAS_ADDRESS
    sets the default value of -reapi_cas_address, to specify RE API content addressable storage service address.

SISO_LIMITS
    can control siso's resource semaphore. Comma separated key value pairs in the form of key=value.
    step: maximum number of concurrent steps.
    preproc: maximum number of concurrent preprocesses.
    scandeps: maximum number of concurrent scandeps.
    local: maximum number of concurrent local executions.
    fastlocal: maximum number of local executions when local is idle even if step is remote executable.
    startlocal: maximum initial steps to run locally even if step is remote executable.
    remote: maximum number of concurrent remote executions.
    rewrap: maximum number of concurrent use_remote_exec_wrapper steps.
    cache: maximum number of concurrent exec cache lookups.
    thread: maximum number of threads.
    e.g. SISO_LIMITS=local=10,remote=100

SISO_FSMONITOR
    a path of file system monitoring tool. Currently watchman is supported. (experimental).

SISO_EXPERIMENTS
    comma separated feature names.

SISO_BUILD_ID
    sets the default value of --build_id, to identify the build process. Used for tool_invocation_id of remote apis, and build_id label of Cloud logging resources.

SISO_COLLECTOR_ADDRESS
    sets the default value of --collector_address.

NO_COLOR
    disable colored text output. See https://no-color.org/

TERM
    used to detect smart terminal. "dumb" or "dumb-emacs-ansi" are not smart terminal.

RBE_service_no_security
    sets the default value of -reapi_insecure, when using RE API with no authentication. (reclient compat)

RBE_tls_client_auth_cert, RBE_tls_client_auth_key
    sets the default values of -reapi_tls_client_auth_cert and -reapi_tls_client_auth_key, when to use mTLS authentication. (reclient compat)

RBE_tls_ca_cert
    sets the default value of -reapi_tls_ca_cert to specify Root CA Certificates file. (reclient compat)

NINJA_CORE_MULTIPLIER, NINJA_CORE_LIMIT
    used to define default of rewrap's limit. (reclient compat)

RBE_remote_disabled
    used to decide offline mode or not. (reclient compat)

RBE_metrics_project
    sets the default value of -metrics_project, to specify Google Cloud Project for cloud monitoring. (reclient compat)

RBE_metrics_labels
    sets the default value of -metrics_labels, which is comma separated arbitrary key value pairs in the form key=value to be added for cloud monitoring metrics. (reclient compat)

DEBIAN-SPECIFIC NOTES
The Debian package differs from the upstream CIPD-distributed binary in two ways:

Removed: OTel Collector subcommand
    The collector subcommand (an internal-helper for Google's metrics infrastructure) is not included. It requires 84 Go modules not packaged in Debian and is only useful within Google Cloud infrastructure.

Removed: Direct Google Cloud Monitoring export
    The direct export to Google Cloud Monitoring is not available. Build metrics can still be exported to any OpenTelemetry-compatible collector using the --collector_address flag with the ninja subcommand. This is the standard, vendor-neutral approach to metrics collection and works with Grafana, Jaeger, Prometheus, and other OTLP-compatible tools.

All core functionality (Ninja-compatible builds, local execution, Remote Build Execution via RBE, Starlark configuration) is fully preserved.

SEE ALSO
ninja(1)

Full documentation is available at https://chromium.googlesource.com/build/+/refs/heads/main/siso/

AUTHORS
The Chromium Authors.