setup-ci resolves the current project, installs or reuses the runtime and configured tools, activates exact versions, refreshes shims, detects the CI provider, and reports paths needed by later steps.
Requirements
The repository must provide a runtime requirement through one of:jolter.json#tools or the standard string-valued package.json#packageManager compatibility field.
For deterministic builds, prefer exact versions or controlled release lines. Avoid latest in release jobs unless provider movement is intended.
Install and synchronize
--yes when a project declares plugins and CI is allowed to install missing plugin code:
--yes, missing declared plugins fail with remediation text.
Output modes
| Mode | Use when |
|---|---|
--no-progress | You want readable line-oriented logs |
--quiet | You only want final results and failures |
--json --no-color | A later step parses the result |
--verbose --no-progress | You need transfer timing and more detail |
Cache strategy
Cache:JOLTER_HOME can be faster but is less portable and includes installed executables and active selections. Do it only between jobs with the same operating system, architecture, trust boundary, and Jolter compatibility line.
Security guidance
- Treat installer scripts as remote code.
- Prefer verified release archives in environments that require manual review.
- Do not share writable caches across untrusted branches or repositories.
- Keep credentials out of proxy URLs where the CI platform offers secret injection.
- Keep TLS verification enabled.