Home | History | Annotate | only in /external/skia/experimental/webtry
Up to higher level directory
NameDateSize
DESIGN.md23-Apr-201510.3K
main.cpp23-Apr-20153.2K
poly/23-Apr-2015
README.md23-Apr-20152.6K
res/23-Apr-2015
result.cpp23-Apr-2015464
safec++23-Apr-2015108
seccomp_bpf.h23-Apr-20151.7K
setup/23-Apr-2015
sys/23-Apr-2015
templates/23-Apr-2015
TODO.md23-Apr-2015654
webtry.go23-Apr-201528.4K

README.md

      1 WebTry
      2 ======
      3 
      4 Allows trying out Skia code in the browser. Run a local webserver
      5 and from the pages it serves try out Skia code and see the results
      6 immediately. To make sandboxing easier this must be built w/GPU off.
      7 
      8 Running 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 
     17 Then visit http://localhost:8000 in your browser.
     18 
     19 Only tested under linux, doubtful it will work on other platforms.
     20 
     21 Full Server Setup
     22 =================
     23 
     24 Create 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 
     33 Make sure port 80 is accessible externally for the above instance.
     34 
     35 SSH into the instance:
     36 
     37     gcutil --project=google.com:skia-buildbots ssh --ssh_user=default skia-webtry-b
     38 
     39 
     40 Do once
     41 -------
     42 
     43 The following things only need to be done once
     44 
     45 1. sudo apt-get install git schroot debootstrap
     46 2. git clone https://skia.googlesource.com/skia
     47 3. Add the following to /etc/fstab and reboot:
     48 
     49     none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
     50 
     51 The above will allow ninja to run. See http://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied
     52 
     53 4. Add the following to the /etc/schroot/minimal/fstab:
     54 
     55     /home/webtry/inout             /inout  none    rw,bind         0       0
     56 
     57 5. Change /etc/monit/monitrc to:
     58 
     59     set daemon 2
     60 
     61 then run the following so it applies:
     62 
     63     sudo /etc/init.d/monit restart
     64 
     65 This means that monit will poll every two seconds that our application is up and running.
     66 
     67 6. 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 
     72 Do the first time
     73 -----------------
     74 
     75 Do 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 
     81 Once, after setup
     82 -----------------
     83 
     84 Do 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 
     89 Third Party Code
     90 ----------------
     91 
     92   * res/js/polyfill.js - Various JS polyfill libraries. To rebuild or update
     93     see polyfill/README.md.
     94 
     95