Add initial production manual for fiddle. Also try linking from alerts directory to the right area of the production manual. BUG=skia: Review-Url: https://codereview.chromium.org/1926793003
diff --git a/alertserver/alerts.cfg b/alertserver/alerts.cfg index 46cd543..8526c1d 100644 --- a/alertserver/alerts.cfg +++ b/alertserver/alerts.cfg
@@ -649,7 +649,7 @@ # [[rule]] name = "fiddle is failing to build" -message = "Fiddle has failed to build at the last 2 chrome DEPS rolls. Search logs for \"Failed to build LKGR:\" and \"Successfully built:\"." +message = "Fiddle has failed to build at the last 2 chrome DEPS rolls. https://skia.googlesource.com/buildbot/+/master/fiddle/PROD.md#build_fail" database = "skmetrics" query = "SELECT mean(value) FROM \"counter\" WHERE app='fiddle' AND \"name\"='builds-failed' AND time > now() - 10m" category = "infra" @@ -660,7 +660,7 @@ [[rule]] name = "fiddle is failing to sync" -message = "Fiddle has failed to sync to HEAD at least 2 times in a row. Search logs for \"Failed to update skia repo\"." +message = "Fiddle has failed to sync to HEAD at least 2 times in a row. https://skia.googlesource.com/buildbot/+/master/fiddle/PROD.md#sync_fail" database = "skmetrics" query = "SELECT mean(value) FROM \"counter\" WHERE app='fiddle' AND \"name\"='repo-sync-failed' AND time > now() - 10m" category = "infra"
diff --git a/fiddle/PROD.md b/fiddle/PROD.md new file mode 100644 index 0000000..3b072b0 --- /dev/null +++ b/fiddle/PROD.md
@@ -0,0 +1,65 @@ +Fiddle Production Manual +======================== + +First make sure you are familar with the design of fiddle by reading the +[DESIGN](./DESIGN.md) doc. + + +Forcing a build +--------------- + +You may need for force a build on the server, say if you accidentally wiped +the mounted drive, or say fiddle is broken and you need to force it to build +at HEAD and not wait for that commit to make it into a DEPS rolls. + +SSH into `skia-fiddle` and run: + + fiddle_build --force --head --alsologtostderr \ + --depot_tools=/mnt/pd0/depot_tools \ + --fiddle_root=/mnt/pd0/fiddle + +After that finishes restart fiddle: + + sudo systemctl restart fiddle.service + +Or restart Fiddle from the push dashboard. + +Debugging fiddle\_secwrap.cpp +----------------------------- + +Highly unlikely to be needed, but if font handling changes, for example, then +Skia applications may start trying to read new directories or make exciting +new system calls. + +If that happens then uncomment the line: + + TRACE_ALL, + +in `fiddle_secwrap.cpp`, then compile and run fiddle\_secwrap locally and then +run it over the offending exe to determine which calls it is making and then +add those to the whitelist. + +Alerts +====== + +Items below here should include target links from alerts. + +Fiddle is failing to build <a id=build_fail></a> +------------------------------------------------ + +This usually isn't a critical error since Fiddle will only start +using a build of Skia if it was successfully built, but this should +be addressed so Fiddle doesn't get too far removed from Skia HEAD. + +Search logs for "Failed to build LKGR:" and "Successfully built:". + +Fiddle is failing to sync<a id=sync_fail></a> +------------------------------------------------ + +This sync is for Fiddle updating a local copy of Skia that's used +to look up git hashes. The repo is located at /mnt/pd0/fiddle/skia. + +Search logs for "Failed to update skia repo". + +One easy fix is to SSH into the machine and delete the directory and +then restart Fiddle, which will rebuild the checkout.