Klarx

Klarx moves away from GitHub Actions to build 3x times faster with Semaphore

  • ⛔️️ 30 minutes to get feedback from CI
  • ⛔️ Developers stuck waiting in long queues during rush hours
  • ⛔️ Builds failing randomly
  • ✅ 10 minutes to get feedback ⬇️ 3x
  • ✅ Developers never wait for CI to start thanks to autoscaling resources
  • ✅ Stable builds with no effort from the engineering team

Discover what Semaphore can do for your team 🧑‍💻

The Challenge

Klarx were using their own runners to run GitHub Actions. But the implementation and maintenance time increased as the team and its needs grew. The team’s CI/CD infrastructure load varies throughout the day, with rush hours when all engineers try to push to their repos and quiet time during the weekends. This required manual scaling work for CI/CD infrastructure.

“Since moving to Semaphore from GitHub Actions, our CI pipeline has been stable and had more consistent run times, this allowed us to detect failures and flaky specs faster.”

Since the company didn’t always have time to scale the resources manually, this led to:

  • ✔️ Long queue time during rush hour
  • ✔️ Builds failing randomly. Reruns were needed

 “Since moving to Semaphore, we have had a more stable CI pipeline and were able to focus on developing features.”

The Solution

Klarx were looking for a solution that would scale to the team’s needs without implementation and maintenance effort required from the team. They felt the need to move from GitHub Actions and were also considering CircleCI and TeamCity as their options. However, they chose Semaphore for its speed and ease of setting up

“We were looking for a solution that is easy to set up with minimal technical coupling and that is fast by design. Semaphore seemed to satisfy these characteristics so we implemented a POC on Semaphore”, says Amin Ben Slimen.

“Semaphore seemed to satisfy all the characteristics we were looking for, like ease of setting up and speed”.

Switching tools might always seem like a daunting task. However, the engineering team at klarx found that moving to Semaphore was fairly painless. “The platform is designed to require very little changes to your codebase and offers a very efficient toolbox, we had around 60% of our CI workflow moved to Semaphore within 2 weeks”, says Amin Ben Slimen.

The Results

Since moving to Semaphore, klarx’ CI pipeline has been stable and had more consistent run times. This allowed the team to detect failures and flaky specs faster.

The klarx’ engineering team also find such features as caching and run conditions on tasks very useful for their monorepo. Finally, environments with a wide range of dependencies and versions available out of the box within seconds (e.g., Postgres, Elasticsearch, Node, Ruby) made designing the CI pipeline worryless and efficient for klarx.

klarx’ CI pipeline in Semaphore

After switching to Semaphore, the full CI flow (build and test monolith and front end apps) now takes 10-15 minutes as opposed to 25-30 minutes it used to take when the team were relying on GitHub Actions for their CI infrastructure.

Since moving to Semaphore, the klarx’ engineering team has had a more stable CI pipeline. This allowed them to focus on what’s most important – developing features.

The debugging process has also become a breeze. The team also finds Semaphore’s ease of tapping into the VM/container and investigating a failing test while reproducing the exact failure conditions extremely useful.

“Debugging with Semaphore has been a pleasure. Who would have thought debugging could be enjoyable!” says Amin Ben Slimen.

“Debugging with Semaphore has been a pleasure.”

With Semaphore’s ability to forward a port to a local browser, debugging complex end-to-end test setups reaches an unprecedented level of simplicity. The klarx’ engineering team also finds Test Reports to be a neat and useful feature. All in all, Semaphore turned out to be an efficient plug and play CI/CD solution that allows them to focus on delivering features.

“Semaphore is worth using because it offers an easy to use, reliable and fast platform for your CI/CD with very little tech coupling. This gives you and your engineering team the opportunity to focus on your core business and on delivering features to your customers”, says Amin Ben Slimen.

“Semaphore is a reliable and fast platform for your CI/CD with very little coupling. This gives your team an opportunity to focus on your core business.”

Industry

Construction

Company Size

51-100 employees

Engineering team

14 people

Stack

Ruby on Rails

Postgres

Elasticsearch

React

GraphQL

More customer stories

“It’s way faster and we just pay Semaphore for the number of build seconds we actually use. As we’ve spent a bit of time optimizing our build speed, each build costs about 10 cents.”

CTO / Co-Founder

Read case study

“Semaphore allows us to build anywhere from two to twenty branches in parallel, each one in a threaded environment. We had thousands of tests that were running for a really long time and with Semaphore we got the build to run in under 20 minutes.”

QA Lead at 500px

Read case study

“We were using Jenkins to build the old system, and it was hard to maintain and quite painful. We looked at other hosted CI services, but they were very unreliable. When we found Semaphore, we got our application up and running pretty quickly. We now use it for all projects.”

CTO at Simply Business

Read case study