A plain non-force git push rather than Gitea's built-in push mirror. A push mirror force-updates the refs it owns, so a Merge clicked on a GitHub PR would be silently overwritten on the next sync -- the PR still reading 'Merged' while its commit became unreachable. A non-force push is rejected instead, which turns that into a red CI run. Secret is PAT_GH, not GITHUB_MIRROR_PAT: Gitea reserves the GITHUB_ and GITEA_ prefixes for its own injected variables and refuses secrets using them.