Sync Develop
Workflow reutilizável para sincronizar o branch develop após um release no main. Faz merge de main para develop para manter o branch de desenvolvimento atualizado com o código released.
Trigger
yaml
on:
workflow_call:Chamado após o Release Please quando release_created == 'true'.
Inputs
Nenhum input é necessário.
Secrets
Nenhum secret adicional é necessário. O workflow usa o GITHUB_TOKEN padrão via permissions.
Permissions
yaml
permissions:
contents: writeNecessário para fazer push no branch develop.
Job: sync
Executa em ubuntu-latest:
- Checkout do branch
developcomfetch-depth: 0(histórico completo). - Configura Git com o usuário
github-actions[bot]. - Merge de
origin/mainemdevelop(git merge origin/main --no-edit). - Push do branch
developatualizado.
Quando usar
Este workflow deve ser chamado como parte do pipeline de release, após o Release Please criar um novo release:
Release Please cria tag
│
├── post-release (build ZIP, upload)
│
└── sync-develop (merge main → develop)Exemplo de uso
yaml
# .github/workflows/release.yml
name: Release
on:
push:
branches: [main]
jobs:
release-please:
uses: middag-io/.github-private/.github/workflows/release-please.yml@workflows-v1
sync-develop:
needs: release-please
if: needs.release-please.outputs.release_created == 'true'
uses: middag-io/.github-private/.github/workflows/sync-develop.yml@workflows-v1Resolução de conflitos
Se houver conflitos entre main e develop, o merge falhará e o workflow reportará erro. Nesse caso, resolva os conflitos manualmente:
bash
git checkout develop
git pull origin develop
git merge origin/main
# resolver conflitos
git push origin develop