Marcin's Musings

Random bits of stuff

CFML CI Updates: Multi-platform and TestBox Support

| Comments

Happy New Year!

I’ve been putting in a bit of time during the holiday break, in between baby wrangling and Christmas duties, and have managed to add a bunch of useful features to the CFML CI template.

Multi-platform support

The biggest change is that the scripts now support running Adobe Coldfusion 9.0.2 and 10. In addition, with the changes made to support multiple platforms, Railo 4.0 and the new 4.2 beta have been added to the default list of platforms – although for Railo this was trivial, just point at different archives.

ACF support was a bit trickier, as ACF requires an “installation” before it’ll run. I have done this install step, gone through the initial setup screens, applied patches, and packaged up the result. I am hosting these pre-installed re-packaged version on an S3 bucket, and downloads from Travis CI are pretty darn fast (they might be on AWS infrastructure as well). The other part of the puzzle was doing a find and replace from the original installed path to wherever it had been installed by the CI scripts. Oh yeah, and just for good measure the startup script was tweaked to remove the requirement to run as root!

The good thing was the work to get ACF10 working translated pretty easily to ACF9 – with minor differences for paths and startup procedure for the server. Future versions of ACF should also be able to be supported, although supporting the future versions may be easier from what I’ve seen in the pre-release program.

Adobe ColdFusion and multi-platform support is on the master branch of the CFML CI project:

These changes have also been backported and merged into FW/1 – it’s test suite is now running against the main supported versions:


Initial experimental support for TestBox has also now been added, however I am waiting for the 1.0.1 release before it ends up on master as currently the build doesn’t fail if there are test errors, there is a fix coming that allows for writing out a properties file that can be used to determine whether the tests failed. You can see the test matrix for this branch on Travis CI:

(Although technically those TestBox tests should be failing as there’s an intentional failure in there)


The only thing remaining for this iteration is to update the documentation to cover multiple test frameworks, and update the Jenkins documentation to describe how to set up a multi-config / “matrix” project to allow for testing the various platforms from a single project.