tree: 16aa4181303b461cc013577693d139a5f07a909a [path history] [tgz]
  1. cmd/
  2. demo-page-assets/
  3. dockerfiles/
  4. docs/
  5. frontend/
  6. go/
  7. k8s-config-templates/
  8. k8s-instances/
  9. modules/
  10. pages/
  11. .bowerrc
  12. .gitignore
  13. create-github-token-secret.sh
  14. create-gold-corp-sa.sh
  15. create-gold-public-sa.sh
  16. k8s_release_baseline_server
  17. k8s_release_diff_server
  18. k8s_release_goldpushk_crashing_server
  19. k8s_release_goldpushk_healthy_server
  20. k8s_release_ingestion
  21. k8s_release_skiacorrectness
  22. karma.conf.ts
  23. Makefile
  24. package-lock.json
  25. package.json
  26. probersk.json5
  27. README.md
  28. tsconfig.json
  29. webpack.config.ts
golden/README.md

Gold Correctness

For information on setting up or using Gold, see these docs.

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

To run Gold locally, see: https://skia.googlesource.com/infra-internal/+show/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.