Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Cicada: A FOSS, Self-Hosted Alternative to GitHub Actions and Gitlab CI (cicada.sh)
11 points by dosisod on March 29, 2023 | hide | past | favorite | 2 comments
Hi HN! My name is Logan Hunt, and I am the founder and CEO of Cicada. Cicada is a self-hostable CICD platform that integrates with GitHub and Gitlab, allowing you to write workflows without caring about the underlying implementation details of the platform you are using. Source code (AGPL-v3 licensed) is available here: https://github.com/Cicada-Software/cicada and the live site is available here: https://cicada.sh

With Cicada you build automation workflows using our custom DSL (domain specific langauge), built specifically for writing automation workflows. The Cicada DSL is a fully functional programming language, meaning you can use variables, if statements (coming soon!), and execute shell commands without having to write a single line of YAML. And, best of all, these workflows can work with GitHub and Gitlab without any modifications.

One of the best parts of GitHub Actions (IMO) is the ability to easily trigger workflows from many types of events such as git pushes, opening/closing pull requests, or creating a new release. With Cicada you will be able to fire off workflows for all of these events, no matter what platform you choose. Say good by to vendor lock-in!

Having used GitHub Actions, Gitlab CI, and Azure DevOps at my previous job, I found that these tools where good at describing basic automation tasks, but failed whenever you wanted to do something complex. In addition, these platforms all use YAML for configuring their workflow files, which means you need to write a shell script for anything more complex than basic linting or testing. Another inherent problem with these solutions is that they all use different YAML formats, making them incompatible with one another, further locking you in to their platform. Cicada solves that by making a single, unified format that works no matter what platform you use, and converts all the platform-specific events types into one platform-agnostic type. This means that a git push event coming from GitHub will look identical to a git push event coming from Gitlab.

Cicada is in the early stages right now. A working MVP is up and running, but it is far from complete. I've been holding off open-sourcing Cicada until later, but given the recent GitHub outages this week, I felt this would be the perfect time to do an initial "launch".

Currently Cicada is running on a small Linode server, and the workflows are ran using Docker. I've removed the white-list so anybody can run workflows for the time being, though I expect it will get swamped rather quickly, in which case I will re-add the white-list. Also, getting GitHub permissions right is hard, so for the time being, you must push to GitHub repositories that are on your personal account (and are an owner of).

Let me know what you think!




I'd love to try this out, but it seems veeeeery early stage to get a feel for it.


Thank you for the feedback. What in particular is making it hard to start trying it out? I'm curious because lowering the barrier for entry is important for getting people to start using this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: