Yes, you have to include QA in the continuous integration process for it to work. That means at any time you can just tag the top of the master branch to cut a release, or do continuous delivery if it makes sense (so no tags at all).
It sounds like you are doing a monorepo type thing. Git does work best and was designed for multiple/independent repos.