Skip to content
Proctor
Esc
↑↓navigate↵open⌘Jpreview
On this page

CI setup

Use the report as a pass threshold, and what CI can and cannot run.

System models run on physical phones, so a hosted CI runner cannot run the suite. Proctor splits the work:

  1. Run the suite on a device (yours, or a device farm that offers real devices with AICore). Collect the *.proctor.json files.
  2. Commit the files, or upload them as a CI artifact.
  3. In CI, run ./gradlew proctorReport. It needs no device.
proctor {
    resultsDir.set(layout.projectDirectory.dir("proctor-results"))
    baseline.set("ticket-classifier_android_..._v1_2026-10-01.proctor.json")
    failOnRegression.set(true)
    failOnNotGraded.set(false)
}

The task fails when a run’s passWhen is false. With failOnRegression, it also fails when a case that passed in the baseline fails in another run. With failOnNotGraded, it fails when any case could not be graded.

Whether a given farm provides AICore, a locked bootloader and the foreground behavior Proctor needs is unverified.

Was this page helpful?