Radicle Integrations & Tooling Org - Q3 2024 Update

Radicle Integrations & Tooling Org - Q3 2024 Update

General Announcements & Updates

The :sparkles: highlights :sparkles: of our work this quarter include:

  • Radicle + CI in containers !

    • packaged the Radicle CI broker and integrations in containers! Stand up your Radicle Node with docker-compose and optionally enable:
      • Radicle Explorer with embedded Radicle Planning Boards,
      • Zulip Integration (notifications for new patches on Zulip),
      • Concourse Integration (run CI/CD jobs in Concourse and report back results)
      • GitHub Actions Integration (report results as comments on Radicle Patches),
      • Webhooks Integration (send outgoing webhooks from Radicle Node events).
    • we have migrated our node deployment to use container-based approach, using the updated Radicle Ansible Playbook,
    • updated our grafana-based monitoring and alerting solution to monitor the Radicle stack running in containers (check make grafana in the Ansible playbook).
  • HTTP API:

    • as several of our projects depended on the HTTP API endpoints that allowed users to create patches, comments, etc., which have now been removed from Radicle Explorer’s API (radicle-httpd), we have spent the better part of this last quarter adapting to this change:
      • we are in the process of migrating IDE tooling functionality to the CLI,
      • we have created a fork of that API (starting from version v0.11) that we are maintaining separately, so we can ensure our CI Integrations and other apps still work with Radicle 1.0 . This fork of the API is meant to be short-lived and keep everything working, until other alternatives become viable.
  • Automation & CI/CD goodness :robot:

    • self-hosted Concourse CI powers our automation around radicle-in-containers work (running tests, building container images, publishing to Minio/Quay.io).
      • optimizing pipelines to paralellize build steps, use caches where possible to avoid compute waste, etc.
    • Compiled list of examples of our various CI integrations!
    • Working closely with Radicle core team on CI Broker:
      • contributing Feature Requests, Bug Reports, Design Discussions, Patches and Reviews.
  • Closer to dropping HTTP API dependency for IntelliJ / Jetbrains IDE users:

    • the IntelliJ plugin is relatively feature-complete:
      • supports creating issues and patches, and discussions on those,
      • supports code review with excellent diff and in-line commenting ( Check out the demo ! ) ,
      • Design & UX could be somewhat improved,
      • still relies on radicle-http-api, which we’re currently migrating away from, so IDE users don’t need to run radicle-httpd on their machine.
  • Commenting on Patches coming soon to VS Code:

    • A little bit behind schedule (for personal reasons outside work). We are hoping to pick up the pace again in Q4.
    • Next feature is the ability to comment in patches, so we can support basic discussions and code reviewing within VS Code.
  • Development slowed down:

    • as mentioned in Q2 update, our budget has been significantly affected by RAD token fluctuation. As a result, development has slowed down quite a bit.
  • Radicle Planning Boards entering maintenance phase (for now):

    • still functional, no new features planned. Details below.

Quarterly Objectives Updates

User Research

We have undertaken our first interviews. There is a separate detailed report on the process we followed and how we plan to continue here, in order to talk to more people and share feedback across orgs, by working closer with Daniel and Johannes from the Radicle and RSN orgs respectively.

Development Roadmap

In this section we provide details on all the new features developed in Q3 2024. Please feel free to expand each section for details.

Planning Boards:
  • with the Desktop app still in heavy development, and Radicle Explorer switching to read-only functionality, we have decided (also taking into account the reduced budget), to pause the development of any new functionality on this project.
  • Having been the most heavily affected app after the core team’s decision to drop write functionality from radicle-httpd and the radicle-explorer - in which we were envisaging the boards app to be embedded.
  • Radicle Planning Boards is still functional with radicle-http-api-v1.0 (which is compatible with Radicle 1.0), so it still works with the latest Radicle version, but no new work is planned on it at this time, until we have a clearer landscape.
  • we do still see a future for this tool - especially when teams (as opposed to individuals) start onboarding their workflows to Radicle - and that future may mean that this board is more tightly integrated in VS Code.
CI Integrations:
Concourse CI Integration
Github Actions Integration
  • Still being used in production, as we still rely on GitHub Actions for some end-to-end, cross-platform tests.
  • Keeping up with CI broker updates. Now supports v0.6.3
  • Packaged into container, as part of the radicle_in_containers/radicle-broker image.
  • Detailed changelog.
Webhooks Integration
  • No major changes. Jenkins, Kraken CI and Woodpecker CI integrations rely on this adapter.
  • Keeping up with CI broker updates. Now supports v0.6.3
  • Packaged into container, as part of the radicle_in_containers/radicle-broker image.
  • Detailed changelog.
Woodpecker CI
  • we have resumed work on integrating with the Woodpecker CI.
  • This had been put on pause after discussions with the maintainers to allow for a better plugin system for External Forge implementations to be developed and that has now been made available.
  • We are currently exploring the exact authentication flow between Woodpecker and radicle-http-api.
Contributions to Radicle CI Broker
  • We are working closely with Lars on the Radicle Core team to help shape the future of the CI Broker, acting as “beta testers” / “internal customers”, contributing feature requests, bug reports, design discussions, smaller patches and reviews.
  • We are running the CI Broker in production for our own self-hosted deployment of the CI Integrations, to power CI/CD pipelines in our own repos. See examples.
    • reporting all issues to help polish the deployment / operational experience.
IDE Tooling:
VS Code
  • Have fallen behind schedule, for personal reasons outside work. We are hoping to pick up the pace again in Q4.
  • Coming soon: commenting on patches, so we can support basic discussions and code reviewing within VS Code.
  • Inline comments and in-depth code reviewing will take a back step, as we’ll proceed with adding Issue listing, viewing and commenting next.
Jetbrains IDEs
  • our goal here is to rely entirely on the rad Command Line Interface, and drop the dependency on the HTTP API completely:

    • we have already shipped a v0.11 with some minor fixes and alread some of that functionality migrated,
    • we have identified the functionality that can already be switched to the CLI (Milestone v0.11), which will be shipped in subsequent v0.11.z releases,
    • we have identified what functionality cannot currently be switched to the CLI (Milestone v0.12). For this work to proceed, we will need rad to support the missing functionality - hopefully in the upcoming 1.1 release, or soon thereafter.
  • For more details, check out the detailed changelog covering all the features and fixes that went into v0.11.0.

  • the Jetbrains plugin still offers the most integrated experience to do code reviews on Radicle. Check out the demo!

Timeline & Budget Update

We are 44K USDC “under” budget. During Q3 we spent 69K USDC and our original estimated budget was 113K USDC.

However, this is only because we have much less actual funds available.

Due to our grant being split between USDC and RAD, with the significant price fluctuation in RAD, we are already facing challenges with the remaining budget and we have had to reduce contributor hours accordingly.

In Q4, this trend will continue and we will have to completely re-evaluate how to manage any funds received in RAD tokens in 2025 - ideally adopting a common strategy with any other Orgs who also receive RAD tokens.

Upcoming

In Q4, we still have some migration work left to move our tools from radicle-httpd API → rad CLI.

We would like to explore and contribute to more ways of packaging and deploying Radicle (RPM, Helm Chart, etc.) to provide a good starting point for developers and node operators who want to run Radicle on their machine or infra.

As part of our CI integrations, apart from finishing the work on Woodpecker CI, we have already started exploring integration with RenovateBot/Renovate, for automated dependency updates. This will offer an alternative to GitHub’s Dependabot, allowing us to break vendor lock-in. We are also working closely with the core team on the CI Broker, as we are using it in production and will continue to help drive development forward on the Radicle CI front.

For the longer-term future, in 2025, apart from CI/CD - our main focus area - we also want to bring integrated code reviews in VS Code (alongside what we already have for IntelliJ users). We would also like to explore integrations of Radicle in ecosystems and communities that are a good fit for potential Radicle users (Emacs / Neovim). We also feel there is value exploring other verticals / areas, such as project planning (as we did with Radicle Planning Boards), static website hosting, the “Radicle on mobile” experience, etc. but this also greatly depends on the types of users we expect to onboard (e.g. with the Radicle Seed Network), and the user feedback we receive in Zulip, or from other Orgs. Finally, we would like to do more on the Operations side of things, to help public seed node operators and grow the Radicle network.

4 Likes