Queue priority for bot PRs, and locking several phones at once for multi-device tests.
When devices are busy, waiting jobs are served highest priority first (default 0, first come first served within a priority). Give bot-authored PRs like Renovate or Dependabot -1 so the PRs people are working on get the devices first. A job that already holds a device is never interrupted.
- name: Acquire device lock
run: sair-acquire --priority ${{ github.event.pull_request.user.type == 'Bot' && -1 || 0 }}
Ask for a number of devices with --count. A lock can include phones on another of your Proxies; the Orchestrator relays their ADB traffic so adb on the runner sees them like local devices. For phones that must sit together (BLE, Wi-Fi Direct, adb reverse), add --same-proxy to take them all from the runner's own Proxy.
- name: Acquire two devices on this bench
run: sair-acquire --count 2 --same-proxy