We should consider using Github Actions to run CI for PRs to ensure that all changes at least build before being merged.
My first thought would be to just run the included docker build for both guacamole-server and guacamole-client.
We would have to make sure that we don't hog the runners for too long though, as noted in https://infra.apache.org/github-actions-secrets.html
The ASF maxes out its runner allocation quite often, so a project needs to plan carefully to make best use of them for everyone's sake. For example, it would be important not to trigger a full release test with a pull request that is correcting a typo on one page in one module.