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.
Recommended languages
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:
Language | Runtime configuration |
---|---|
Go | The 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. |
Java | The 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 language | The 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. |