What is Proper Continuous Integration?

Marko Anastasov · Engineering

Continuous integration (CI) is confusing. As with all ideas, everybody does their own version of it in practice. Get a clear, concise summary of CI, continuous deployment and continuous delivery. Understand how these practices complement each other, and how they can help you develop robust software faster.


We've recently upgraded MySQL 5.5 to 5.6 in our platform. Along with many performance and stability improvements, the new version also has strict mode turned on by default, which means it has stricter syntax and data validation checking. This, of course, is a good thing from your data's standpoint but it may also cause some unexpected errors in your builds.


As you have probably heard, a severe security bug in OpenSSL dubbed Heartbleed was uncovered on April 7th. It allows anyone to read 64k chunks of memory of the systems using the vulnerable versions of OpenSSL, leaving no trace in common system or server logs.

All Semaphore's current infrastructure is using OpenSSL and was thus affected and needed to be updated. Here's what we did and what we recommend you to do as well.


In this post we'll explore options for dealing with external resources when writing tests. Generally, a common solution is to use a mock instance of the resource that is not part of your system under test. It is however important to make sure that your mock, or stubbed response is a faithful copy and does not get out of date.



Occasional lightweight product and blog updates. Unsubscribe at any time.

© 2009-2018 Rendered Text. All rights reserved. Terms of Service, Privacy policy, Security.