Comment
Comment by kelvinjps
Git can already do most of these with git hooks and for self hosting IIn a raspberry pi you only need git itself in the server and ssh.
For example you can set a hook to run tests in the user machine, another to run in the server or deployments. I think people need to more about the options git already has