codewars / runner

Issue tracker for Code Runner

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

codewars/runner

Issue tracker for CodeRunner used on Codewars and Qualified.

Reporting Issues

Please report any language related issues here.
For anything else about Codewars, please use codewars/codewars.com.

Feature Requests

Please open new issues using appropriate issue templates.

Code

CodeRunner itself is not open source, but it's roughly equivalent to the following:

$ WORKDIR=/workspace/
# Create a container
$ C=$(docker container create --rm -w $WORKDIR language-image cmd args)
# Copy files
$ files | preprocess | docker container cp - $C:$WORKDIR
# Run
$ docker container start --attach $C | postprocess
  • WORKDIR is not always /workspace/ and can be a subdirectory of it (planned to be standardized in the future)
  • preprocess is responsible for the file layout and any code modifications necessary for backwards compatibility (e.g., concatenation)
  • postprocess transforms the output when necessary (e.g., Codewars test output from JSON)

Images can be used with local files by changing the step to copy the files:

$ docker container cp ./files/. $C:$WORKDIR
#                            ^^
#                            copy contents and not itself

Container images are available on DockerHub under qualified.

Contributing

Contributions are welcomed!

For now, please look at the following places:

Feel free to open issues to ask us if you'd like to contribute in other ways.

Supported Languages

Stable

Beta

Requested

See issues with language request label.

About

Issue tracker for Code Runner