add new executors
This commit is contained in:
parent
9e0c0c40f5
commit
087a6e6a39
|
@ -1,13 +1,22 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN sed -i 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/mirror.math.princeton.edu\/pub\/ubuntu\//' /etc/apt/sources.list
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install bash-completion
|
||||
RUN echo "tzdata tzdata/Areas select America" > /tmp/tzseed.txt; \
|
||||
echo "tzdata tzdata/Zones/America select Chicago" >> /tmp/tzseed.txt; \
|
||||
debconf-set-selections /tmp/tzseed.txt && \
|
||||
apt-get install -y tzdata && \
|
||||
rm /tmp/tzseed.txt
|
||||
RUN apt-get -y install nano dpkg-dev
|
||||
RUN apt-get -y install build-essential
|
||||
RUN apt-get -y install python
|
||||
RUN apt-get -y install python3
|
||||
RUN apt-get -y install ruby
|
||||
RUN apt-get -y install nodejs
|
||||
RUN apt-get -y install golang
|
||||
RUN apt-get -y install php7.2
|
||||
RUN apt-get -y install r-base
|
||||
RUN apt-get -y install mono-complete
|
||||
|
||||
RUN useradd -m runner
|
||||
|
||||
|
|
|
@ -38,6 +38,15 @@ case "$lang" in
|
|||
"go")
|
||||
bin=executor_go
|
||||
;;
|
||||
"c#" | "csharp" | "cs")
|
||||
bin=executor_csharp
|
||||
;;
|
||||
"r")
|
||||
bin=executor_r
|
||||
;;
|
||||
"php")
|
||||
bin=executor_php
|
||||
;;
|
||||
*)
|
||||
echo "invalid language"
|
||||
exit
|
||||
|
@ -56,6 +65,9 @@ docker run \
|
|||
-v $dir/executors/c:/executor_c:ro \
|
||||
-v $dir/executors/cpp:/executor_cpp:ro \
|
||||
-v $dir/executors/go:/executor_go:ro \
|
||||
-v $dir/executors/csharp:/executor_csharp:ro \
|
||||
-v $dir/executors/r:/executor_r:ro \
|
||||
-v $dir/executors/php:/executor_php:ro \
|
||||
piston \
|
||||
runuser \
|
||||
-l runner \
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
mcs $1 -out:binary
|
||||
timeout -s KILL 3 mono binary
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
timeout -s KILL 3 php $*
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
timeout -s KILL 3 Rscript $*
|
|
@ -13,7 +13,7 @@ from from EMKC contests and challenges. It's also used in the Engineer Man Disco
|
|||
- `docker/execute <lang> <path to file>`
|
||||
|
||||
#### Supported Languages
|
||||
Currently python2, python3, c, c++, go, node, and ruby are supported.
|
||||
Currently python2, python3, c, c++, go, node, ruby, r, c#, and php are supported.
|
||||
|
||||
#### Principle of Operation
|
||||
Piston utilizes Docker as the primary mechanism for sandboxing. There is a small API written in Go which takes
|
||||
|
|
Loading…
Reference in New Issue