How do you manage your theme versions when privately distributing?

I have a similar workflow. I use GitHub Updater to manage all of my 1st party plugins and themes. The versioning, which is specified in the GHU documentation, is Semantic Versioning. x.x.x, 1.0.4, or whatever. There’s a philosophy behind SemVar and I follow that.

I install the GitHub Updater and then install all my 1st party assets like themes and plugins via GitHub Updater from my GitHub account. You can use other git repositories if you need to. You can also use public or private repos too.

Once everything is installed, you make edits to your theme and then increment the version number. GitHub Updater will detect a difference in the versions and prompt the user for to Update.

There are also some continuous integration capabilities within GitHub Updater too, which from your question, may be what you’re looking for. You’d push any changes to your repo, then the repo would fire off webhooks and update all the themes (or plugins) that are set up for CI.

https://github.com/afragen/github-updater