DEV Community

Cover image for SparrowCI Pipelines - super fun and flexible CICD pipelines
Alexey Melezhik
Alexey Melezhik

Posted on • Edited on

SparrowCI Pipelines - super fun and flexible CICD pipelines


Simple and fun

SparrowCI is super fun and flexible free service allow to build CICD pipelines.

SparrowCI exposes YAML DSL that allow to build projects for different languages including Raku, Python, Ruby, GoLang or just a make based projects.

The killer feature of SparrowCI pipelines is that they could be extended by many languages with the idea of repeatable executable tasks in the core:

- 
  tasks:
    -
      name: main-task
      language: Python
      default: true
      code: |
        print("hello from Python")
      depends:
        - 
          name: install-python
    -
      name: install-python
      language: Bash
      code: |
       sudo apk apk add --no-cache python3 py3-pip          
Enter fullscreen mode Exit fullscreen mode

In this simple example task "main-task” would execute some Python, to make it sure we have a Python in runtime, dependency task "install-python" is executed. That's simple!

This example illustrates the core idea behind SparrowCI pipeline - to have a collection of dependent tasks (DAG) that executed in particular order.


More

Or course SparrowCI allows more than this simple example, follow the documentation to know more.


Popular languages support

The service is still on progress, however many typical build scenarios for popular programming languages are already tested and work.


Docker environments

Build scenarios are executed in ephemeral docker containers under Alpine OS.


Plugins

SparrowCI pipeline could take a benefits in using a numerous plugins from SparrowHub. Typical plugins would install MySQL/PgSQL database or setup Python/Raku environment. New plugins are easily created by using many modern languages, using Sparrow plugins API.


Conclusion

I'd appreciate a feedback and ideas on how people could use such a service.

Top comments (0)