One of the first things we do when we bootstrap a project at Manas is to set up a continuous integration server. Since in general we use GitHub, for open source projects Travis is a no brainer. However, we also work on a number of private repositories for which Travis has strong competition: CircleCI. CircleCI offers a single CI container for unlimited private repositories on its free tier plan. It’s great if you are playing around with dozens of little projects that aren’t quite ready for primetime, but you still want to hold onto best practices without skyrocketing costs.

These days we’re exactly in that situation, experimenting with our beloved Crystal on a number of different applications.

You’d think using CircleCI to build applications that use novel programming languages like Crystal should make you hate your life. Actually, it turns out to be a rather pleasant experience! Just add a circle.yml file to your project’s root directory with the contents below.

A couple of remarks:

That’s it! You now have no excuses to not write beautiful, performant code in Crystal, resting safe on a robust continuous integration environment that has your back covered in case of regressions :).

A website 13 years in the making
[{"document_url": "https://manas.tech/blog/2016/06/13/using-circleci-for-your-crystal-projects.html", "unformatted_src": "/images/staff/mverzilli.jpg", "src": "https://manas.tech/images/staff/mverzilli.jpg", "formatted_filename": "mverzilli", "alt_text": "Mart\u00edn Verzilli"}, null, null]