Também precisamos resolver este problema para patches de segurança não públicos.
Temos código em nossas ferramentas internas que mescla um branch de um repositório - eu recomendaria a mesma abordagem para você.
Algo como isto deve funcionar para você em um bloco exec (provavelmente no hook after_code):
# buscar e mesclar o patch
git merge REFERENCE --no-commit
bundle install # se necessário
pnpm install --frozen-lockfile # se necessário