Every time code is run/checked it's done inside a docker container. This allows me to set up an environment for as many languages as I want and unit test them. The containers run for a maximum of 2 seconds so if there's an infinite loop, the container is destroyed eventually anyway.