Deploy golden testing on android through an apk

We used to deploy our android golden tests through a console app that we launched from the adb shell. However, this won't work anymore if we want Vulkan validation layers. Switch to an apk instead.

Also clean up and improve upon our tooling:
* Add signal handlers to notify the python server when the app crashes
* Rename dump_gms_and_goldens.py ... -> deploy_tools.py gms goldens ...
* Pipe stdout and stderr to to the python server
* Replace most instances of exit(-1) with abort()

Diffs=
5f6ea0da1 Deploy golden testing on android through an apk (#7906)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
12 files changed
tree: 086d24fff4026d9a5fc862e5cd9b3df0e99dd362
  1. glad/
  2. include/
  3. path_fiddle/
  4. renderer/
  5. rive_vk_bootstrap/
  6. submodules/
  7. webgpu_player/
  8. .gitmodules
  9. .rive_head
  10. LICENSE
  11. make_dawn.sh
  12. make_moltenvk.sh
  13. make_swiftshader.sh
  14. premake5.lua
  15. premake5_pls_renderer.lua
  16. README.md
README.md

Rive Renderer

The Rive Renderer is a vector and raster graphics renderer custom-built for Rive content, for animation, and for runtime.

This repository contains the renderer code and an example for how to interface with it directly. The code within this repository does not contain a Rive runtime. It contains the best in class concrete implementation of Rive's rendering abstraction layer, which we call the Rive Renderer.

Clone this repo

Make sure to clone this repo with submodules!

git clone --recurse-submodules git@github.com:rive-app/rive-renderer.git

Build GLFW

cd submodules/rive-cpp/skia/dependencies
./make_glfw.sh

Install Python PLY

python3 -m pip install ply

Add build_rive.sh to $PATH

export PATH="$PATH:$(pwd)/submodules/rive-cpp/build"

Build & run

build_rive.sh release
out/release/path_fiddle [/path/to/my.riv]

Build & serve for WebGL2

build_rive.sh ninja wasm release
cd out/wasm_release
python3 -m http.server 5555

Helpful keys

  • h/H: add/subtract copies to the left and right (only when a .riv is provided)
  • j/J: add/subtract copies below (only when a .riv is provided)
  • k/K: add/subtract copies above (only when a .riv is provided)
  • p: pause runtime (for benchmarking the renderer in isolation)
  • a: toggle “atomic” mode