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)