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

Before Semaphore:
  • 30 minutes to get feedback from CI
  • Developers stuck waiting in long queues during rush hours
  • Builds failing randomly
After adopting Semaphore:
  • 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

Klarx is a Munich-based start-up operating a digital platform for construction equipment and heavy machinery rental. As an independent full-service provider, klarx digitalizes the entire rental process for rental stations and lessees. The platform offers efficient and transparent overviews of final rental prices – including logistics and insurance – and availabilities for equipment all over Germany. Thus, klarx enables customers to get the best price in the shortest time.

Industry
Construction
Company Size
51-100 employees
Engineering team
14 people
Stack
Ruby on Rails
Postgres
Elasticsearch
React
GraphQL
“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.”
Amin Ben Slimen klarx
Amin Ben Slimen, Senior Software Engineer at klarx

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 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.”
Amin Ben Slimen klarx
Amin Ben Slimen, Senior Software Engineer at klarx

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”.
Amin Ben Slimen klarx
Amin Ben Slimen, Senior Software Engineer at klarx

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.”
Amin Ben Slimen klarx
Amin Ben Slimen, Senior Software Engineer at klarx

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.”
Amin Ben Slimen klarx
Amin Ben Slimen, Senior Software Engineer at klarx

More customer stories