DEV Community

Gerardo Enrique Arriaga Rendon
Gerardo Enrique Arriaga Rendon

Posted on

Creating a CI pipeline for yassgy

For this week, I set up a CI pipeline for yassgy with GitHub Actions. I also contributed to glazed-donut, by creating a few test cases.

Setting up the CI pipeline

Setting the CI pipeline for my repository was very easy to do. When setting it up, GitHub recommended one of the workflows for Rust, since yassgy use Rust. The recommended workflow can be found here.

Funnily enough, I didn't have to change anything from the original file, since I am not running extra jobs, or setting up any extra configuration.

Contributing to glazed-donut

Contributing to glazed-donut was like contributing to any other project I have contributed to in the past. I forked the project and set up a local copy of the code, and then I started to write the code.

After running the tests I wrote, I noticed that some of them were failing. Since the tests were short, I could verify that the problem was not related to the test itself, but that the code was not working as expected.

Either way, I pushed my code to her repo with no much issue. I noticed that, because I am a first-time contributor to her codebase, my PR did not trigger the workflow pipeline she had set up.

This reminded me the time that Diana (dbelokon in GitHub) contributed to yassgy for the first time. Her PR did not trigger my workflow and I had to give permissions to active the run. I can conclude that this is the same situation happening.

Although her repo is using C#, I did not find much complications contributing to a test case in her project, especially because it was fairly easy to read the previous test cases and copy from them so I could write mine.

Opinion

Before, I used to think that CI were this mysterious tool that is very useful for development, but incredibly confusing to set up and maintain.

It turns out that I was half-wrong! CI's were proven to be useful to me, since I can easily tell when the default branch (master or main) is having breaking changes. Of course, CI's are not a panacea, they are only useful when I diligently write tests that thoroughly test the expected behaviour of my code, and this, of course, has its limits.

The part that I was wrong about CI's was related to the difficulty on setting up. At least in GitHub, setting up CI pipelines were proven to be extremely easy, and it is something that I am glad for.

Top comments (0)