added deno

Fixes issue: https://github.com/engineer-man/piston/issues/18
This commit is contained in:
Ethan Edwards 2020-10-17 01:22:15 -04:00
parent 3246ed6781
commit 084211cb46
No known key found for this signature in database
GPG Key ID: F1AD8EEE1366610B
7 changed files with 28 additions and 1 deletions

View File

@ -87,6 +87,9 @@ case "$lang" in
"node" | "js" | "javascript")
bin=node
;;
"deno" | "denojs" | "denots")
bin=deno
;;
"perl")
bin=perl
;;

7
lxc/executors/deno Normal file
View File

@ -0,0 +1,7 @@
cd /tmp/$2
if [[ -z $(grep '[^[:space:]]' args.args) ]]; then
runuser runner$1 -c "cd /tmp/$2 ; timeout -s KILL 3 deno code.code"
else
runuser runner$1 -c "cd /tmp/$2 ; cat args.args | xargs -d '\n' timeout -s KILL 3 deno code.code"
fi

View File

@ -47,3 +47,7 @@ echo 'testing python3'
../execute python3 test3.py
echo 'testing haskell'
../execute haskell test.hs
echo 'testing deno js'
../execute deno testdeno.js
echo 'testing deno ts'
../execute deno testdeno.ts

1
lxc/tests/testdeno.js Normal file
View File

@ -0,0 +1 @@
console.log('good')

1
lxc/tests/testdeno.ts Normal file
View File

@ -0,0 +1 @@
console.log('good')

View File

@ -69,3 +69,6 @@ echo '---'
echo 'haskell'
lxc-attach --clear-env -n piston -- /bin/bash -l -c "ghc --version"
echo '---'
echo 'deno'
lxc-attach --clear-env -n piston -- /bin/bash -l -c "deno --version"
echo '---'

View File

@ -54,7 +54,7 @@ apt-get update
apt-get install -y \
nano wget build-essential pkg-config libxml2-dev \
libsqlite3-dev mono-complete curl cmake libpython2.7-dev \
ruby libtinfo-dev
ruby libtinfo-dev unzip
# install python2
# final binary: /opt/python2/Python-2.7.17/python
@ -223,6 +223,14 @@ source /opt/.profile
# get version: /usr/bin/ghc --version
apt install ghc
# install deno
# final binary: /opt/.deno/bin/deno
# get version: /opt/.deno/bin/deno --version
curl -fsSL https://deno.land/x/install/install.sh | sh
echo 'export DENO_INSTALL="/opt/.deno"'
echo 'export PATH="$DENO_INSTALL/bin:$PATH"'
source /opt/.profile
# create runnable users and apply limits
for i in {1..150}; do
useradd -M runner$i