The elm-community/webgl folks found themselves in a similar situation. Turns out that, indeed, it is possible! The trick is quite simple - Elm requires a tagged release to be present. There is, however, no requirement for that tag to be made on a commit on your master branch - or indeed any branch.
So what they do is checkout the HEAD commit by hash, which puts you in a detached HEAD state. They retain only the files they want to publish, create a commit for those, tag that commit and push it to GitHub.
The end result, as a script, is this: https://github.com/elm-community/webgl/blob/master/release.sh