If you're interested in this project, send me a message! ✉️
OneCI specification & tools (in development)
help wanted
The goal of this project is to create a vendor agnostic configuration format for CI/CD runners to make it easier for projects to switch platforms, and tooling around it.
The to be developed OneCI specification would incorporate common features from various CI vendors, like steps, conditions, environments, matrix expansion, deployment, etc.
Various adapters could be developed for conversion to/from the OneCI spec to platform specific formats to make migrations easy.
In order to help adopt the specs, various tools could be created alongside the spec in a monorepo containing these packages:
- spec: the spec itself as markdown doc and json-schema (or typescript or some other convenient interface)
- adapter-*: adapters for various ci platforms
- core: functions to validate and convert a configuration object into other formats
- cli: wrapper around the core for command line usage
- web: wrapper around the core for web usage
There are many, but let's start with:
- Travis
- AppVeyor
- GitLab runner
- Bitbucket Pipelines
- CircleCI
- Drone