Name | Date | Size | |
---|---|---|---|
.. | 05-Nov-2014 | 4 KiB | |
DESIGN.md | 05-Nov-2014 | 10.3 KiB | |
main.cpp | 05-Nov-2014 | 3.2 KiB | |
poly/ | 05-Nov-2014 | 4 KiB | |
README.md | 05-Nov-2014 | 2.6 KiB | |
res/ | 05-Nov-2014 | 4 KiB | |
result.cpp | 05-Nov-2014 | 464 | |
safec++ | 05-Nov-2014 | 108 | |
seccomp_bpf.h | 05-Nov-2014 | 1.7 KiB | |
setup/ | 05-Nov-2014 | 4 KiB | |
sys/ | 05-Nov-2014 | 4 KiB | |
templates/ | 05-Nov-2014 | 4 KiB | |
TODO.md | 05-Nov-2014 | 654 | |
webtry.go | 05-Nov-2014 | 28.4 KiB |
README.md
1WebTry 2====== 3 4Allows trying out Skia code in the browser. Run a local webserver 5and from the pages it serves try out Skia code and see the results 6immediately. To make sandboxing easier this must be built w/GPU off. 7 8Running Locally 9=============== 10 11 $ GYP_GENERATORS=ninja ./gyp_skia gyp/webtry.gyp gyp/most.gyp -Dskia_gpu=0 12 $ ninja -C out/Debug webtry 13 $ cd experimental/webtry 14 $ go build webtry.go 15 $ ./webtry 16 17Then visit http://localhost:8000 in your browser. 18 19Only tested under linux, doubtful it will work on other platforms. 20 21Full Server Setup 22================= 23 24Create a GCE instance: 25 26 gcutil --project=google.com:skia-buildbots addinstance skia-webtry-b \ 27 --zone=us-central2-b --external_ip_address=108.170.220.126 \ 28 --service_account=default \ 29 --service_account_scopes="https://www.googleapis.com/auth/devstorage.full_control" \ 30 --network=default --machine_type=n1-standard-1 --image=backports-debian-7-wheezy-v20140331 \ 31 --persistent_boot_disk 32 33Make sure port 80 is accessible externally for the above instance. 34 35SSH into the instance: 36 37 gcutil --project=google.com:skia-buildbots ssh --ssh_user=default skia-webtry-b 38 39 40Do once 41------- 42 43The following things only need to be done once 44 451. sudo apt-get install git schroot debootstrap 462. git clone https://skia.googlesource.com/skia 473. Add the following to /etc/fstab and reboot: 48 49 none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0 50 51The above will allow ninja to run. See http://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied 52 534. Add the following to the /etc/schroot/minimal/fstab: 54 55 /home/webtry/inout /inout none rw,bind 0 0 56 575. Change /etc/monit/monitrc to: 58 59 set daemon 2 60 61then run the following so it applies: 62 63 sudo /etc/init.d/monit restart 64 65This means that monit will poll every two seconds that our application is up and running. 66 676. Set the TCP keepalive. For more info see: 68 https://developers.google.com/cloud-sql/docs/gce-access 69 70 sudo bash -c 'echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time' 71 72Do the first time 73----------------- 74 75Do the following the first time you setup a machine, and each time you want to update the code running on the server 76 77 cd ~/skia/experimental/webtry/setup 78 ./webtry_setup.sh 79 80 81Once, after setup 82----------------- 83 84Do this step only once, but only after running webtry_setup.sh the first time 85 86 sudo debootstrap --variant=minbase wheezy /srv/chroot/webtry 87 88 89Third Party Code 90---------------- 91 92 * res/js/polyfill.js - Various JS polyfill libraries. To rebuild or update 93 see polyfill/README.md. 94 95