500px has been our customer since 2014, and they have been growing and evolving along with Semaphore.
Moving fast is crucial to the 500px team. The less time they spend on testing, the more value they can create for their users. They put new code into production several times per day, and automated testing allows them to ensure that new features work, while spending less time reviewing previously-tested functionality. In order to accomplish this, they rely on Semaphore to automatically run their tests in parallel and speed up their test suite.
In the past, Devon Noel de Tilly from the 500px QA team exaplained to us what their development workflow looks like, and Artem Lypiy, their QA Lead, shared how moving from Jenkins to Semaphore helped 500px build up a continuous integration process that scales.
Recently, Shreya Khasnis wrote a post on what happens behind the scenes and how they maintain 500px on their blog:
“Pull requests are reviewed by developers, but also reviewed by machines! We have a large suite of automated tests, which run when new pull requests are opened. These tests are a great way to ensure that new features work as expected and verify that these new changes do not break existing functionality. Given the variety of features on our site, it would be time-consuming to test all aspects by hand on every code change. Currently, we have about 4,000 automated tests that are separated into threads which run simultaneously. We use a continuous integration framework called Semaphore CI that runs these tests on every proposed change. The tests are randomly executed, which encourages the development of independent tests to ensure the order of execution does not impact the expected result. This helps us parallelize the test suite into different threads. Semaphore can also be integrated with Slack to inform developers about tests that have passed or failed. From this, developers are able to triage through and fix the code that broke things.”
To find out why 500px chose Semaphore for CI/CD, learn more about the fastest and simplest hosted continuous integration service here.
Also, if you’d like to learn how 500px moves fast, while ensuring that everything works you can read Shreya’s entire blog post here.