tree: b77fab27d1c9f36f69f58017b0740a17eeec72fe [path history] [tgz]
  1. .bowerrc
  2. Makefile
  3. README.md
  4. cmd/
  5. create-gold-corp-sa.sh
  6. create-gold-public-sa.sh
  7. dockerfiles/
  8. docs/
  9. frontend/
  10. gen-k8s-config.sh
  11. go/
  12. k8s-config-templates/
  13. k8s-instances/
  14. k8s_release_baseline_server
  15. k8s_release_diff_server
  16. k8s_release_ingestion
  17. k8s_release_skiacorrectness
  18. karma.conf.js
  19. modules/
  20. package.json
  21. pages/
  22. probersk.json5
  23. sys/
  24. webpack.config.js
golden/README.md

Gold Correctness

For an architectural overview, see: https://docs.google.com/document/d/1U7eBzYrZCPx24Lp9JH2scKj3G8Gr8GRtQJZRhdigyRQ/edit

To run Gold locally, see: https://skia.googlesource.com/infra-internal/+/c6fad0bec78c6768ce7e4187606325216dd438ed/scripts/start-gold-chrome-gpu.sh

Working on the lit-html frontend

Gold follows the pulito model of organization and uses webpack to bundle the pages together.

To get started, run npm install in the top golden directory. You won't need to run this very often - only when deps are rolled forward.

The lit-html pages are in ./pages. These are very simple, as they compose more complex modules found in ./modules. To access the demo pages for the modules, run

make serve

Then open a web browser to localhost:8080/dist/[module].html. These demo pages have some mock data (piped in via a mock-fetch) and are good proxies for working with real data from a real web server.

The pages in ./pages also show up at localhost:8080/dist/[page].html although these won‘t be as interesting as there is no mock data and you may see strange artifacts like {{.Title}} as that’s where the golang templating on the server will insert data.

As we transition off of Polymer-based pages, there is a “page” called transitional that houses a wide assortment of lit-html elements that are bundled into the Polymer pages.

To run the tests for these lit-html pages, run:

make js-test

If you want a browser window left open to inspect the output (e.g. tests are failing):

make js-test-debug

Tests tend to make sure that data processing and html structure is done correctly. CSS and “how it looks” are presumed to be handled by a human during development and integration

If you are running a skiacorrectness server locally, you can (in another terminal) run

make frontend

which will rebuild all the frontend pages. When in --local mode, the skiacorrectness server will reload the templates/pages every time, so you don't have to restart it to see the re-built pages.