fiddlek/

directory
v0.0.0-...-fcfcbe3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2024 License: BSD-3-Clause

README

Fiddle

Allows trying out Skia code in the browser.

Running locally

In two different shells:

$ make run_local_fiddle

$ make run_local_fiddler

Fiddler uses scrap exchange, but only for scrap conversion. To test these functions a local scrapexchange will need to be started:

# In //scrap run:
$ PORT=:8010 PROM_PORT=:20001 make run-local-instance

Then visit http://localhost:8080

fiddler Deployment

The fiddler image is continuously deployed as new Skia commits come in. See documentation at docker_pushes_watcher/README.md.

If needed, fiddler may be manually deployed as so:

make push_fiddler_I_am_really_sure

Keep in mind that a deployed dirty image will prevent (by design) docker-pushes-watcher from automatically pushing new images. To determine if a fiddler push will be clean or dirty run the following:

make release-fiddle

To create a clean image make sure that the workspace is up-to-date with no modified files.

NOTE: One caveat is that the glibc version on the machine performing the push needs to be compatible with the version on the image being used by fiddle. After deployment make sure to run a test fiddle to ensure successful compilation on fiddle.

fiddle Deployment

fiddle must be manually deployed as so:

make push_fiddle

Node Pool

The fiddler-pool node pool is dedicated to running just fiddler pods. This was setup because fiddler latency was high for fiddle when run along with many other pods on 64 core nodes. To create a node pool that is dedicated to a certain kind of pod you need to label and taint all the nodes in the node pool, in this case with the same key,value pair:

reservedFor=fiddler

Using the same key/value pair isn't required, but it keeps it consistent.

Then add a tolerance to the pod description so it can run in the node-pool, and also add a nodeSelector so that the pods get scheduled into the pool.

spec:
  nodeSelector:
    reservedFor: fiddler
  tolerations:
    - key: "reservedFor"
      operator: "Equal"
      value: "fiddler"
      effect: "NoSchedule"

Directories

Path Synopsis
go
fiddle
fiddle is the web server for fiddle.
fiddle is the web server for fiddle.
fiddlecli
Command line app to process fiddles in bulk.
Command line app to process fiddles in bulk.
fiddler
Compiles a fiddle and then runs the fiddle.
Compiles a fiddle and then runs the fiddle.
named
named is a utility for dealing with named fiddles.
named is a utility for dealing with named fiddles.
runner
Functions for the last mile of a fiddle, i.e.
Functions for the last mile of a fiddle, i.e.
smoketest
Does a simple sanity check on a locally running fiddler.
Does a simple sanity check on a locally running fiddler.
source
Keeps a cache of all the source image thumbnails.
Keeps a cache of all the source image thumbnails.
store
Package store stores and retrieves fiddles and associated assets in Google Storage.
Package store stores and retrieves fiddles and associated assets in Google Storage.
ts
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL