When a workflow step pushes a commit, opens a pull request, or creates a tag using the automatically provided GITHUB_TOKEN, GitHub deliberately does not start a new workflow run for the resulting event. The rule exists to stop workflows from triggering themselves in an infinite loop, and it applies regardless of the on: filters in the target workflow.
The symptom is a release or version-bump job that pushes a tag and then waits forever for the tag-triggered publish workflow that never starts. Confirm it by checking the Actions tab: the push appears in the commit history but produces no run, and there is no error anywhere.
Workarounds, in rough order of preference: use a GitHub App installation token minted in the job, which does trigger workflows; use workflow_dispatch or repository_dispatch to explicitly invoke the next workflow via the API; or use a personal access token stored as a secret, which works but ties automation to one person's account and is harder to scope. The exception is workflow_run, which fires for runs regardless of who triggered them.