Company: Protocol Labs
Protocol Labs is a research, development, and deployment lab for network protocols. They aim to make human existence orders of magnitude better through technology. One of their main projects is IPFS (InterPlanetary File System), a peer-to-peer hypermedia protocol designed to preserve and grow humanity's knowledge by making the web upgradeable, resilient, and more open.
Goals of the project
The goal of the Unified CI project was to make the maintenance of the Kubo (previously go-ipfs) ecosystem, which consists of around 100 libraries across dozens of organizations, more manageable and efficient. The micro-service architecture of Kubo was causing a high maintenance overhead for the teams, and the Unified CI aimed to streamline the CI processes, testing, and release cycles across all repositories.
Rough Timeline
- 2021: Marten started working on setting up Unified CI in the Kubo ecosystem
- 2022: IPDX team connected with the libp2p team and started distributing Unified CI in repositories
- 2022: IPDX took ownership of Unified CI. We released more Improvements and new versions
- Milestone: Unified CI is distributed in 300+ repositories
IPDX Special Expertise Benefits
We at IPDX have a core value of building tools that are good enough to become the standard, without enforcing processes. Our expertise in developer tooling and understanding of the maintainer's perspective allowed us to create a Unified CI that accommodates various workflows and can be customized to fit specific needs.
This approach led to widespread adoption of Unified CI across the Protocol Labs organization.
The Results
- Reduced maintenance cost and made the micro-library model possible at scale
- Transformed the ROI function, allowing smaller changes to have a huge multiplying factor when distributed to hundreds of maintainers
- Simplified onboarding by providing a single workflow for building and using all repositories
- Improved baseline quality with features like versioning, testing, and cross-platform compatibility
The Deliverables
- Unified CI scripts and workflows that can be easily integrated into repositories
- Automated installation wizard for setting up Unified CI in new projects
- Customizable release workflows to accommodate maintainers' specific needs
- Automated detection of new repositories joining the ecosystem