Skip to content

comexio/github-create-fc-workflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Documentação Técnica: Create Feature Candidate

Este workflow tem como objetivo criar uma Feature Candidate (FC) automaticamente a partir de uma branch relacionada a um ticket do Jira. Ele extrai o ID do Jira a partir do nome da branch de origem e cria uma nova branch no formato fc/{JIRA_ID}.

Execução

O workflow é definido como uma GitHub Action Composite Action, o que significa que ele pode ser chamado dentro de outros workflows para padronizar a criação de Feature Candidates.

Etapas do Workflow

1. Git checkout

Faz o checkout do código-fonte no repositório para a máquina de execução.

Detalhes

• A action actions/checkout@v4 é usada para clonar o repositório.

• O parâmetro fetch-depth: 0 garante que todo o histórico do repositório seja baixado, permitindo operações avançadas como criação de branches baseadas no histórico completo.

2. Configuração e Criação da Branch Feature Candidate

Nesta etapa, são realizados os seguintes passos:

  1. Ajusta as permissões da pasta de trabalho (chown).

  2. Extrai o ID do Jira do nome da branch atual (GITHUB_REF_NAME).

  3. Cria uma nova branch chamada fc/{JIRA_ID}.

  4. Configura as credenciais do Git para realizar commits.

  5. Faz o push da nova branch para o repositório remoto.

Explicação do Código

• JIRA_ID=$(echo "${GITHUB_REF_NAME}" | grep -oE '[0-9]+$'):

• Obtém o nome da branch atual (GITHUB_REF_NAME).

• Extrai o ID do Jira no final do nome da branch.

• Exemplo: Se a branch for feature/PROJ-1234, o script extrairá 1234.

• BRANCH_NAME="fc/${JIRA_ID}": Define o nome da nova branch como fc/{JIRA_ID}.

• git config user.name "GitHub Actions Bot" e git config user.email "devops@logcomex.com":

• Configura o usuário do Git para fazer commits e pushes automatizados.

• git checkout -b $BRANCH_NAME || echo "Branch already exists":

• Tenta criar a branch fc/{JIRA_ID}.

• Se a branch já existir, exibe uma mensagem informativa.

• git push --set-upstream origin $BRANCH_NAME || echo "Push failed":

• Faz o push da nova branch para o repositório remoto.

• Se o push falhar (por exemplo, se a branch já existir no repositório), apenas exibe um aviso.

Considerações

• Este workflow depende de o nome da branch seguir um padrão específico (feature/PROJ-1234 ou similar) para extrair corretamente o ID do Jira.

• Se a branch já existir no repositório remoto, o push não será executado, e apenas um aviso será exibido.

• Para que a ação funcione corretamente, o GitHub Actions precisa ter permissões suficientes para criar e fazer push de branches no repositório.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published