Hacktoberfest 2018: write 5 pull requests for a free t-shirt

Hello Mishamigos, in a week we will be the last day of October. The day where ghouls and demons will sprout and throw one more spell at us humble coding people. The day where until the last second you will look at your inbox petrified waiting for the next jump scare. As you guessed, in case you were oblivious to the post title, tomorrow is the first day of the last week of Hacktoberfest, 2018 edition.

Continue reading “Hacktoberfest 2018: write 5 pull requests for a free t-shirt”

Git squash merge: non, no, nein, nee, na, nej, não, net

Today I will tell you why you should say no to git squash merges. Even better I will show you. First, I will explain what lead me to write this post. Then, I will provide you with steps to reproduce a problem that seems ignored. A problem that will eventually bite you if you keep using git squash merges. No spoilers until you get there. Hopefully, you will get my point. Since the aim of this post is to save you time in the future or even now this will also be the latest entry of my future-proof series.

Continue reading “Git squash merge: non, no, nein, nee, na, nej, não, net”

Continuous delivery for free using Docker, CircleCI and Heroku

Continuous what?

Continuous delivery. You may recall that in my previous post I announced that today’s entry would be revolving around continuous integration. And technically it can count as such since we will cover continuous integration along the next step. That next step is continuous delivery. If you are not familiar with these terms and the concepts behind them I will sum them up briefly.

Basically, continuous integration allows verifying that your codebase still builds and passes tests passing whenever you push changes. Add a trigger to deploy your code to production upon success and you pretty much have the idea around continuous delivery.

Continue reading “Continuous delivery for free using Docker, CircleCI and Heroku”

Trying to provide helpful pull request reviews

How I unblocked a frozen pull request

A few weeks ago, I saw a pull request to modify one of our web jobs which codebase is pretty old and had no tests. The pull request had no tests either. The thing is that we decided to make unit testing mandatory for any pull requests a couple of weeks before.

I started reviewing the code when I noticed someone else already posted a review. A pretty laconic “please add tests”. Not a bad nor a mean review but not a really helpful one. Proof of it is that it was posted about an hour before and the pull request was blocked. Indeed we do not untested logic to enter or remain in our software. Yes, it is aligned with our new policy about tests. That being said, the web job code was tightly coupled and pretty impossible to test as it was.

Continue reading “Trying to provide helpful pull request reviews”

Simple continuous integration with Appveyor and Newman

Last month, I posted about Postman enabling you to test your APIs with little effort so that you can build future-proof software. Here we are going to cover setting up continuous integration for a simple project by using Newman to run your Postman collections. You may have heard about continuous integration in the past. Most commonly, continuous integration will build software from one’s changes before or after merging them into the main codebase. Even though there is an infinity of tools that allow implementing continuous integration, I will focus on Appveyor CI. In order to make things simple, I will create a very basic web API project and will host it on GitHub.

Continue reading “Simple continuous integration with Appveyor and Newman”