Skip to content

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: write

Necessário para fazer push no branch develop.

Job: sync

Executa em ubuntu-latest:

  1. Checkout do branch develop com fetch-depth: 0 (histórico completo).
  2. Configura Git com o usuário github-actions[bot].
  3. Merge de origin/main em develop (git merge origin/main --no-edit).
  4. Push do branch develop atualizado.

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-v1

Resoluçã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

MIDDAG Tecnologia