Configuring the howl.ci runner

The howl.ci runner is configured through a .howl.ci.properties file in the root of your repository. This is just a .properties file, so pretty much every editor supports it. A pretty basic configuration file might look like this:

computer.0.startup=.build.lua
computer.0.saveDir=.

It is possible to include environment variables within your .howl.ci.properties. This is done with the ${NAME} syntax. This is substituted with the environment variable's value, or an empty string if not found. You can specify a default value by placing a pipe (|) after the symbol. For instance you could specify which a prefered ComputerCraft version, falling back to a default if not set:

computercraft.url=http://addons-origin.cursecdn.com/files/${CC_SPEC | 2291/384/ComputerCraft1.79.jar}
computercraft.file=${HOME}/.cc-jars/ComputerCraft-${CC_VERSION | 1.79}.jar

Configuring ComputerCraft versions

The howl.ci runner works across multiple ComputerCraft versions and so needs to be pointed to the correct one. Firstly it'll look for the file specified by computercraft.file. If it is not there then it will download computercraft.url and save it. If you want to use ComputerCraft 1.75 instead you should change it to point to a different URL.

Version computercraft.url computercraft.file
ComputerCraft 1.79 https://addons-origin.cursecdn.com/files/2291/384/ComputerCraft1.79.jar ComputerCraft1.79.jar
ComputerCraft 1.75 https://addons-origin.cursecdn.com/files/2269/339/ComputerCraft1.75.jar ComputerCraft1.75.jar
ComputerCraft 1.80pr0 https://addons-origin.cursecdn.com/files/2311/39/ComputerCraft1.80pr0.jar ComputerCraft1.80pr0.jar

Configuring ComputerCraft

ComputerCraft has several config options to change its behaviour and so howl.ci allows setting them.

computercraft.defaultSettings A comma seperated list of default system settings to set on new computers. For example, shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false will disable all autocompletion
computercraft.disable51 Disable Lua 5.1 functions that will be removed in a future version of ComputerCraft. Useful for ensuring forward compatibility of your programs now.
computercraft.http Enable the http API.
computercraft.whitelist A semicolon limited list of wildcards for domains that can be accessed through the http API on Computers. Set this to * to access to the entire internet. For example, *.pastebin.com;*.github.com;*.computercraft.info will restrict access to just those 3 domains.

Configuring computers

howl.ci allows configuring each computer individually by id. Each option is specified by computer.{id}.{option}. Please note there is currently no way to create multiple computers though that is planned for later versions of howl.ci.

label The computer's label. This can also be set using os.setComputerLabel.
saveDir The directory to save files in relative to the root directory. By default this is computer/{id}.
startup The file to launch relative to the save directory. Note: this will create a file called startup in the save directory, overwriting anything that was there before.
color Whether this terminal supports colour. By default this is true, though you may wish to test your program in black and white mode.
width, height Set the dimensions of this Computer's terminal. This is 51x19 by default, though you could use this to test running on a pocket computer.
spaceLimit The maximum storage capacity of this computer in bytes. By default this is 2^63-1 so you're never really going to run out :).

Configuring CCTweaks

CCTweaks is packaged with the howl.ci runner and enabled by default. You can disable it by setting cctweaks.enabled to false. All other config options are documented on the CCTweaks-Lua wiki.