Skip to main content

Picking the Language

Since steps are exposed through an HTTP API, step plugins may be implemented in any programming language using any web framework. They just need to follow all the specs and rules to properly plug into Cycle.

Cycle Labs recommends using one of the following languages and associated web frameworks:

  • Go with Gin – for execution speed, smaller system footprint, and implementation simplicity
  • Java with Spring Boot - since Java is a very common test automation language, and Cycle comes bundled with the Java Runtime Environment (JRE)

Other popular test automation languages include JavaScript, TypeScript, Python, and C#.

Runtime configuration

The chosen language's runtime must be made available to Cycle. Go and Java do not need special configuration, while other languages do. Full details are below:

LanguageRuntime configuration
GoThe executable artifact is an executable file. It does not need a special runtime environment. Just make sure that the binary is compiled appropriately for the target machines.
JavaThe plugin should use the JRE already bundled with Cycle. Make sure the step plugin's Java version matches Cycle's Java version. In Cycle 2.20 and earlier, Cycle uses Java 11. In Cycle 2.21 and later, Cycle will use Java 21.
Any other languageThe plugin will need the runtime environment required for its language (like Node.js, Python, .NET, etc.). Step plugin developers may choose to bundle the runtime environment with the plugin or to require the local machine running Cycle to have the appropriate runtime environment preconfigured.