~calebccff/autotester

Collection of scripts and job manifests to automatically build and test kernels
2c3a45a7 — Caleb Connolly 1 year, 6 months ago
add sdm845, some fixes
dbb1f73a — Caleb Connolly 1 year, 6 months ago
improve readme, send wirepusher notif, dont re-test old tags
075022e6 — Caleb Connolly 1 year, 6 months ago
dump all the stuff

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~calebccff/autotester
read/write
git@git.sr.ht:~calebccff/autotester

You can also use your local clone with git send-email.

#Shoddy shoddy autotester

Allows for building and boot-testing a kernel on a SHIFT6mq connected to my PC via sourcehut builds and pmOS PTS.

#Setup

  • SSH keypair
  • A webserver somewhere (can be the same machine as the device host)
  • A PTS controller

#Webserver PC

After generating the keypair, add the public key to your webserver ssh/.authotized_keys like done here. This configures SSH to always run the specified command whenever that key is used to authenticate, this provides some greater security.

restrict,pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,command="/usr/bin/rrsync -wo /var/www/connolly.tech" ssh-rsa <SOME_KEY> <note>

It should be possible now to expose the kernel as an artifact in the sourcehut CI job, although artifacts aren't uploaded until the build finishes so it would be necessary to launch another sourcehut build to trigger and monitor PTS once the artifacts are done, using a webserver is just easier...

#PTS

The PTS (Phone Testing System) is a distributed board farm management system, it it made up of a central auth and scheduling server (e.g. pts.postmarketos.org) and any number of control nodes which handle interfacing with the devices under test (DUTs). I have a fork of the controller which adds support for my quirky setup, it will get upstreamed hopefully soon-ish.

Sourcehut handles compiling the kernel and producing a boot.img which it then makes available before triggering a job on PTS to do the actual testing.

#rrst

../rrst/ contains some systemd user services which are absolutely awful, they run picocom as a user service, triggered by the UART device showing up. They also manage my rrst daemon which provides a way of controlling the phones power and volume buttons via the RST and DTR pins, this requires more jank... These are expected to be running so that the UART is available to debug booting issues