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, and rustup. In addition add a plan action deb_install to install deb packages downloaded with deb_get. These are documented in the user guide:

    The pre-plan actions download deb or npm packages or Rust toolchains. The deb_install action installs the downloaded deb packages in the VM. The toolchains are available in the VM without installation.

    The downloaded npm packages need to be installed in the VM with a command such as npm install --offline=true /ci/deps/npm/node_modules/*.tgz. Lars did not provide an action for this, due to being unfamiliar with the npm tool 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_get and deb_get work 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 envs to the runnable plan. This is necessary to allow pre-plan actions to set environment variables for the actual plan. This enables the rustup action to make the downloaded Rust versions available without the plan having to set anything up.

    This is a breaking change: ambient and ambient-execute-plan have to both understand the new field. So do the radicle-ci-ambient adapter and rad-ci, which will be updated momentarily.

  • The README now 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 callisto to 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.

Links