Push-to-deploy had no automated gate. This Forgejo Actions workflow builds the workspace, runs clippy as an error gate, and runs the tests on every push and PR. Adjust runs-on to match the runner's label.