Currently the process is to open the themes tab, click details, delete the existing theme, click add theme, open the dialogue box, select the file, begin upload then test before activating - but I’m pretty sure this process can be faster.
I’m using a Gulp build process to produce the theme folder and zip. The thing is I have a lot of files so installing via .zip is by far a much faster upload and I want speed for testing features and fixes. I could probably run a bash script to upload the file but I’m testing on some servers that allow ssh and others that don’t. So unZipping on the server seems out for some cases.
If a standard theme is out-of-date then WordPress can usually pull the zip and overwrite the theme during upgrades. If I knew what triggered it I could probably just push the zip to a dropbox folder and link to the file directly. It's not going to be on GitHub but I could push to an S3 bucket.
Regardless, if I could just click a box to add a theme without giving me a “theme already exists” error then I’d be happy with that.
Testing on Vagrant, pantheon.io, Dreamhost and AWS EC2. Triggering from a Gulp task or Bash is ideal or adding via the theme’s admin section is fine too.