This month in Radicle CI, April 2026
This is a monthly newsletter about the current state of Radicle CI, what has happened recently, and near future plans.
Current status
Radicle CI is in production use. There are several CI nodes, and Lars runs a public one for open source Rust projects at https://callisto.liw.fi/.
Radicle CI use metrics
I now track Radicle CI use by counting job COBs that reach a public seed node run by Adrian. The data below excludes CI runs on my own CI nodes, to avoid skewing the numbers. I run CI a lot, as part of developing Radicle CI.
(I've dropped the table with exact numbers until I automate that.)
The data collection and reporting is done by job-cob-counts.
Issues and patches
As of 2026-03-16.
| Repository | Open issues | Oldest issue age | Open patches | Oldest patch age |
|---|---|---|---|---|
ambient-ci |
64 | over a year | 1 | 14 days |
radicle-ci-broker |
73 | over a year | 0 | |
radicle-ci-ambient |
11 | over a year | 1 | over a year |
radicle-native-ci |
0 | 0 | ||
rad-ci |
6 | over a year | 0 |
Office hours
The Radicle CI office hour is a place where anyone can show up and ask questions about Radicle CI or Radicle or anything related to them. Sometimes Lars or someone else will have a demo or a short talk.
This happens weekly at https://meet.ffmuc.net/radicleciofficehour. It's Jitsi and you only need a web browser and mic, camera is optional.
Each office hour is announced on #Annoncements and #radicle-ci on the
Radicle Zulip, and on Lars' fediverse account (@liw@toot.liw.fi).
Upcoming:
- April 15 at 16:00 UTC
- April 22 at 07:00 UTC
- April 29: no office hour due to travel
- May 6 at 07:00 UTC
- May 13 at 16:00 UTC
- May 20 at 07:00 UTC
Overview of the past month
For the next month, Lars has worked on:
- Support for more language and packaging ecosystems for Ambient.
deb,npm, and Rust toolchains- this is very raw and probably buggy, be careful, but it'd be helpful if you try it
- Improve development process so in-progress versions of Radicle CI components can be tested together.
- Make releases of CI components so that recent improvements can be deployed.
- Prepare to give a talk on Radicle CI at the foss-north 2026 conference late April.
Lars meant to also work on but turned out to not have the time:
- Improve remote troubleshooting.
- include adapter stderr in CI broker report pages
- Improve Ambient image handling.
- allow Ambient to manage a set of images and projects to declare the image (and version) they want to use
- Add a fake network interface to Ambient to make generic cloud images boot faster.
- Making installation of Radicle CI easier.
- systemd units for the components
- a shell script to provision a fresh Debian host as a CI node
Estimation of work to be done continues to be an unsolved problem.
Radicle CI component releases
Ambient 0.14.0, released 2026-03-30
Add three pre-plan actions for downloading dependencies:
deb_get,npm_get, andrustup. In addition add a plan actiondeb_installto installdebpackages downloaded withdeb_get. These are documented in the user guide:The pre-plan actions download
debornpmpackages or Rust toolchains. Thedeb_installaction installs the downloadeddebpackages in the VM. The toolchains are available in the VM without installation.The downloaded
npmpackages need to be installed in the VM with a command such asnpm install --offline=true /ci/deps/npm/node_modules/*.tgz. Lars did not provide an action for this, due to being unfamiliar with thenpmtool and ecosystem. An action can be added later once the concept has proven itself.These are very raw versions of the actions and are likely inadequate. Please try them, report problems, and help fix them. Both
npm_getanddeb_getwork for at least simple cases.The purpose of these changes it to enable use of non-Rust dependencies and generic cloud images. This is an important step towards making Ambient more useful to more kinds of software projects.
In addition, add a new field
envsto the runnable plan. This is necessary to allow pre-plan actions to set environment variables for the actual plan. This enables therustupaction to make the downloaded Rust versions available without the plan having to set anything up.This is a breaking change:
ambientandambient-execute-planhave to both understand the new field. So do theradicle-ci-ambientadapter andrad-ci, which will be updated momentarily.The
READMEnow has some instructions for adding more pre-plan actions for downloading dependencies.
Ambient adapter 0.18.0, released 2026-03-30
- The path to the image is now made canonical. This allows a relative path to be used in the configuration file, even if the adapter changes the current working directory after loading the configuration. This mostly matters only for Radicle CI component tests, but might be useful for others.
Goals for 2026 (unchanged)
The primary goal for Radicle CI in 2026 is to get more people using it. To achieve this, much work is needed to improve awareness, documentation, installation, configuration, and operation. Some feature work and bug fixing will also be needed. While the basics work and are in use, things could be much more polished.
In addition, a supporting goal is to start tracking how much Radicle CI is used, based on job COBs.
Future plans
For the next month, Lars plans to work on the following:
- Go to the foss-north conference in Gothenburg, Sweden, and give a talk, titled Distributed CI with Radicle and Ambient.
- Add a non-Rust project to
callistoto verify that works, then open it up for non-Rust projects. - Make installation of Radicle CI easier.
- add systemd units for the components
- write a shell script to provision a fresh Debian host as a CI node
- Improve remote troubleshooting.
- include adapter stderr in CI broker report pages
- Improve Ambient image handling.
- allow Ambient to manage a set of images and projects to declare the image (and version) they want to use
- Add a fake network interface to Ambient to make generic cloud images boot faster.
Notes
If you have an open source Rust project and want to try Radicle and Ambient on
callisto, see https://callisto.liw.fi/callisto/ for instructions.
Once Ambient supports more than Rust, callisto will accept non-Rust
projects, too. But still only open source projects.