A liberação de versões do FWFLEX é realizada através do devbot e ocorre em 3 situações:
HOTFIX: liberado todas às quartas-feiras quando há bugs na hotfix
RELEASE: liberado mensalmente na penúltima quinta-feira do mês
BUG CRÍTICO: liberado sob demanda conforme necessidade
O identificador da versão que será lançada é definida pelo bot e respeita sempre o tipo dos tickets conforme preenchido no changelog.
A liberação de versão é realizada pelo PO do produto e consiste em analisar o merge request, merge da branch para a master, liberação pelo BOT, organização do REDMINE e comunicação da liberação.
A liberação de versão do FWFLEX acontece após os testes de fumaça já realizados pelo PO. A entrega final dos testes de fumaça deve ser validada inicialmente:
Branch da entrega que será liberada com 1 commit + 1 changelog para cada ticket
No caso de um bug crítico, a branch que é mergeada será a própria branch do bug (Conforme gitflow) e deve seguir o mesmo conceito
A liberação de uma nova versão é baseada em gerar pacotes baseado no conteúdo que está na branch master, então o conteúdo da branch que será liberada deve ser mergeada para a master.
Validar se a branch tem commits para trás da master
Se essa mensagem acima for exibida, é necessário realizar rebase da branch que será liberada com a master:
git checkout master
git up
git checkout $BRANCH
git up
git rebase master
git push -f
Após rebase, aguardar passar a pipeline e validar que a mensagem não será mais exibida.
Marcar a branch como READY e mergear para a master
Aguardar passar as pipelines do merge na master
Gerar nova release do fwflex através do BOT no Rochet.Chat
bot release fwflex
Aguardar passar as pipelines que foram geradas
Quando é realizada liberação de hotfix ou release, é necessário criar a nova branch
Criar a nova branch através da interface do git
Branch name: utilizar nomenclatura conforme gitflow (hotfix-v3.xx.x, release-v3.xx.0)
Create from: master
Criar Merge Request para a próxima liberação
Utilizar botão que será exibido após criação da branch
Somente criar merge request sem preencher nenhuma informação
Apontar MRs de bugs/feats não concluídos para a nova MR de hotfix/release aberta
Quando é realizado merge de alguma branch para a master, é necessário fazer rebase de todas as branchs que apontam para a master e estão sob responsabilidade dos PO's:
Hotfix
Release
Features que apontam para a Release
Criar próxima versão da hotfix ou release no Redmine
Se algum bug ou feature não foi liberado, associar o ticket à nova versão criada
Alterar todos os tickets que foram liberados para a Situação Released
Alterar a Situação da versão que foi liberada para Fechado no Redmine
Editar o filtro do Redmine de Hotfix ou Release e alterar para a nova versão criada