Running on CI
When running on CI, consider the following specifics of how figx operates:
Progress bar is disabled
CI environments typically do not support animated progress bars in stdout/stderr. figx
will automatically disable it. To monitor the import process, use the -v
flag to enable basic logging showing which resources are being processed.
Example:
figx -v import //...
Limit concurrency
CI runners often have a large number of logical cores. By default, figx
uses a thread pool equal to the number of logical CPUs. On machines with 64+ threads, this may result in a flood of 429 and 500 errors from Figma REST API. It is strongly recommended to limit concurrency using the -j
flag.
Example:
figx -j8 import //... # only 8 threads will be spawned
(Experimental) Metrics reporting
During execution, figx collects metrics on the number of resources scheduled, downloaded, and served from cache.
For now, metrics are available for
fetch
andimport
commands only.
Output is saved to .figx-out/caches/metrics.prom
.
Caching Between Runs
To improve performance and minimize network usage, configure caching for the .figx-out/caches
directory in your CI environment. This directory stores indexed Figma files and downloaded resources. On subsequent runs, figx
can re-download only the resources that have changed in the Figma file, rather than fetching everything from scratch. This can drastically reduce execution time for repeated CI runs.