Cargo Performs Parallel Tests on 530 environments with Semaphore

Before Semaphore:
  • ❌ Increasing complexity with testing
  • ❌ Environmental complexity
After adopting Semaphore:
  • Parallel testing on 530 different environments
  • 🛠️ Better Environment Overview with Workflow Builder

Cargo is an open-source Java wrapper developed by a team led by Ali Tokmen, a seasoned open-source enthusiast with over two decades of experience. This product is designed to standardize the manipulation of J2EE, Java EE, Jakarta EE, and other Java containers. It allows users to configure, start, and stop containers consistently across different environments, from Java applications and JUnit tests to ANT tasks and Maven builds. Additionally, Cargo supports deployments to farms or clusters, streamlining the process without the need for detailed knowledge of the configurations for specific containers like Jetty, Tomcat, WildFly, or WebLogic.

Industry
Open Source
Users
1.2 million downloads / month
Engineering team
40 contributors
Stack
Java
Jakarta EE
ANT
JUnit
Maven
“Semaphore is both reliable and flexible, enabling us to integrate 89 different container versions and six Java versions across over 2500 tests. It provides traceability of change impact for every pull request, ensuring a rapid feedback cycle to developers.”
Ali Tokmen, Lead Developer

What are the main benefits Semaphore gives you?

The biggest challenge with Cargo is that, owing to the different Java and container version requirements, the environmental complexity of the build is immense. The flexibility and reliability provided are impressive and cover all needs for the ‘pure CI/CD’ side. The versioned YAML builds make the setup much more sustainable and easier to maintain, while the ability to define workflows delivers transparency and great performance.

How has Semaphore improved your team’s productivity and efficiency?

I’d think of the smooth Github integration, the very scalable workflow mechanism and the easy to use UIs. Obviously, these are only valuable because the technology from Semaphore is reliable and flexible at the same time, allowing us to combine 89 different container versions and six different Java versions in 2500+ tests, with traceability of change impact for every PR, and rapid feedback cycle to developers.

More customer stories