About a year ago someone posted on the Howl issue tracker a suggestion to implement a "continuous integration" service for ComputerCraft. For those who don't know, continuous integration is a away of automating the "building" of your code. Whenever you push a commit your code is compiled, tested and maybe deployed.
So, 389 days later I present to you: howl.ci:
What?
Builds are executed by Travis using a special emulator called the howl.ci runner. This outputs a log file detailing actions taken during the build. The howl.ci interface then scrapes this log file and extracts useful information such as terminal output, build status and log messages and displays it to you. You can then step through the build to see the state at any point.
You can do whatever you want during this build, any code which runs in game will run on howl.ci (unless it uses peripherals, I'm working on that). howl.ci also allows testing against multiple versions of ComputerCraft, with or without CCTweaks, on normal, advanced or pocket computers. This would take a significant period of time normally, thanks to Travis and howl.ci your tests complete within a couple of minutes of your commit.
Let's see an example then!
The Howl build system uses howl.ci to build itself, ensuring that all code is valid. You can view the latest builds
It is also possible to display log files from arbitrary URLs, such as this one.
I wanna use this!
We've created a useful guide on how to get set up with how.ci.
More Images
Spoiler
One last thing
howl.ci is on GitHub. Please post any feature request or bugs there! I'm always on the lookout for improvements!
Many thanks to 1lann for writing Mimic, whose code I have based the terminal renderer on.
Please note that howl.ci does not execute any of your code: that is done by Travis. howl.ci is just an emulator and a fancy web interface to view the result. Travis offer a free service so please don't abuse it.
Whilst howl.ci was suggested in the Howl issue tracker, and shares it's name you don't actually have to use it. Any code will run fine. You don't even have to use it as a continuous integration service: you could just use it to display your program executing: a sort of interactive RecGif.