@Pawper I guess it depends on how DIY you want to handle things - you could always use GitHub actions to CICD it and deploy to a server via rsync/SSH on release if you don't mind having SSH details for the server stored in GitHub secrets. https://css-tricks.com/continuous-deployments-for-wordpress-using-github-actions/ is a reasonable example of that approach.
@darkliquid Thanks, this guide seems like it will help a lot. One pro of GitHub actions is that my client doesn't have to go and make a DeployHQ account and manage another login. I'll just have to figure out how to set up rsync for the root "public" directory instead of a theme directory. However I don't think it will be too challenging to set that up.