Downloads
fwci is the command-line interface for FirmwareCI. It lets you configure the Git repositories connected to FirmwareCI and other tasks.
Currently, the tool supports Linux x64 and Linux ARM64 systems.
Installation Options
| Platform | Precompiled Binary | Debian/Ubuntu (.deb) | Red Hat/CentOS/Fedora (.rpm) | Arch Linux (.pkg.tar.zst) | Alpine Linux (.apk) |
|---|---|---|---|---|---|
| x64 | fwci-latest.linux-amd64.tar.gz | fwci-latest.linux-amd64.deb | fwci-latest.linux-amd64.rpm | fwci-latest.linux-amd64.pkg.tar.zst | fwci-latest.linux-amd64.apk |
| ARM64 | fwci-latest.linux-arm64.tar.gz | fwci-latest.linux-arm64.deb | fwci-latest.linux-arm64.rpm | fwci-latest.linux-arm64.pkg.tar.zst | fwci-latest.linux-arm64.apk |
Note: Select the package that matches your operating system and architecture. For detailed installation steps, refer to the instructions below.
Installing the Precompiled Binary
Step 1: Download the Precompiled Binary
Replace linux-amd64 with linux-arm64 if you are on ARM64.
Step 2: (Optional) Verify the Download
Download the checksum and verify:
Step 3: Unpack the Archive
Step 4: Install the Binary
If the extracted binary is named fwci, run:
Step 5: Verify Installation
If the installation was successful, this will display the current version of the fwci tool.
For more information on how to use the fwci tool, refer to the Usage Guide
Changelog
v0.15.5 2026-04-21
No user-facing changes in this release.v0.15.4 2026-04-21
New Features
- You can now upload large binaries while seeing live progress, making uploads smoother and more transparent.
- You can watch jobs live in the terminal, view concise or JSON output, and automatically follow new submissions without extra commands.
- You can now stream job logs live as they are produced, and new job submissions return fuller details right away.
- You can submit one or more local test YAML files directly from the CLI for ad-hoc runs, without needing an existing workflow test first.
- You can mark tests as disabled in their YAML so they are skipped instead of being run.
Bug Fixes
- GitHub check updates are now saved more reliably, reducing cases where status reporting could be lost.
- The CLI now shows clearer error messages when a proxy or network layer returns an unexpected non-JSON error page.
- Sensitive token information was removed from the README.
- Notification failures are now tracked, improving visibility when alerts do not go through.
v0.15.3 2026-03-31
New Features
- You can now run only a limited number of devices and virtual devices at the same time to prevent overloading your setup.
Bug Fixes
- Binary paths that use
~now work correctly instead of failing with an invalid path error. - Jobs rerun from the web interface are now correctly shown as having been started from the web interface.
- Expired sessions now refresh automatically more smoothly, so you won’t be forced to sign in again as often.
v0.15.2 2026-03-26
New Features
- You can now see which branch and configuration commit each project and job used, making it easier to trace exactly what ran.
- You can now filter the job list by branch to find relevant runs more quickly.
Bug Fixes
- Commit links now take you to the correct repository and commit page across supported providers.
- GitLab links are now handled correctly, so links open the expected pages.
v0.15.1 2026-03-23
New Features
- You can now use environment-variable maps in JSON-based configuration more reliably.
- This release includes Contest v0.9.8.
Bug Fixes
- Shutdown is now more reliable, reducing the chance of background tasks being left in an inconsistent state.
- Job status updates are now more reliable and less likely to briefly show the wrong state.
- Jobs you abort during preparation now stay aborted instead of unexpectedly returning to the queue.
- Removing a project now also removes its associated devices and storage, including cleanup of leftover items from earlier deletions.
v0.15.0 2026-03-11
New Features
- You can now trigger jobs in another project more easily.
- You can use a workflow name instead of an internal ID when uploading binaries or starting jobs.
- You now see a friendly notice when a newer CLI version is available.
- Virtual devices can now be used by multiple jobs at the same time, improving availability.
- CLI validation now gives clearer results and catches more issues before you run a job.
- Unintegrated projects are now shown as informational instead of looking like a problem.
Bug Fixes
- GitHub links and references now point to the correct host names.
- Aborted queued jobs now update correctly in GitHub notifications.
- GitLab notifications now show queued jobs correctly, and aborted jobs are no longer shown as failed.
- Jobs using Docker-in-Docker are less likely to fail due to running out of disk space.
- Concurrent containers no longer accidentally share the same files between jobs.
- API documentation warnings have been cleaned up for a smoother developer experience.
v0.14.13 2026-02-12
New Features
- Contests now support the new bmctest step, so you can include BMCTEST checks in your test workflows.
v0.14.12 2026-02-02
New Features
- You can now lock and unlock projects to control when configuration synchronization is allowed.
- Monitoring now provides more detailed visibility into application activity, including jobs, workflows, devices, and test results.
- Logging is now more consistent, making issues easier to understand when reviewing system output.
- Tracing can now be sampled at different rates, giving you more control over observability overhead and detail.
- JSON schema validation is now stricter and more consistent, so invalid configuration data is caught earlier.
- You can now configure database connection pooling for setups that use pgBouncer.
Bug Fixes
- Jobs that cannot be queued are now marked as failed instead of remaining in an unclear state.
- Services now receive the full downstream context more reliably during processing.
- Notifications are now always sent for queued jobs.
v0.14.11 2026-01-15
New Features
- You can now control what happens when a stage or step fails, and cleanup steps at the end of a test will still run even if the test fails.
- You can now add shell commands as test steps.
v0.14.10 2026-01-13
New Features
- Live job logs now stream more smoothly and stay aligned with the step currently running, including stopping cleanly when a run is canceled.
- GitHub-based runs are processed faster and more reliably, especially for larger repositories or busier installations.
- GitHub integrations now better handle heavy usage, with fewer failures when API limits are reached.
- You can now download test reports for a single job or an entire job request as Markdown or PDF, with multi-job downloads bundled into a ZIP file.