The Testground runtime revolves around a traditional daemon/client architecture, communicating over HTTP.
This architecture is flexible enough to run the daemon within a shared cluster, with many users, developers, and integrations (e.g. GitHub Actions) hitting the same daemon to schedule build and run jobs.
The Testground daemon is responsible for:
Executing test plan builds.
Executing test case runs.
Collecting the outputs from test runs into an archive.
Performing builder and runner healthchecks.
Setting up the dependencies for builders and runners to operate.
You start the Testground daemon by running:
$ testground daemon
The Testground client offers a CLI-based user experience, allowing you to:
Manage and describe the test plan and SDK sources the client knows about.
Interact with the daemon by executing builds and runs, collecting outputs, requesting runner termination, and triggering healthchecks.
$ testground help