O GitHub Copilot pode gerar sugestões de código diretamente no seu editor, mas também pode ajudar a escrever e editar arquivos de workflow do GitHub Actions. Ao trabalhar com workflows reutilizáveis, é preciso garantir que o Copilot entenda a estrutura dos gatilhos workflow_call e dos parâmetros de entrada. Este artigo explica como configurar o Copilot para auxiliar com workflows reutilizáveis, incluindo estrutura de arquivos, dicas de sintaxe e armadilhas comuns. Você aprenderá métodos passo a passo para criar, chamar e manter workflows reutilizáveis com a ajuda do Copilot.
Principais conclusões: Usando o GitHub Copilot com Workflows Reutilizáveis
- GitHub Copilot no VS Code ou JetBrains: Sugere automaticamente a sintaxe YAML para on: workflow_call quando você digita a palavra-chave do gatilho em um arquivo de workflow reutilizável.
- Dicas baseadas em comentários: Adicione comentários YAML como
# inputsou# secretspara guiar o Copilot a gerar os blocos de parâmetros corretos. - Nomeação de arquivos de workflow reutilizável: Armazene workflows reutilizáveis no diretório
.github/workflowsde um repositório público ou de um repositório interno com as configurações de acesso adequadas.
Como o GitHub Copilot Interpreta a Sintaxe de Workflow Reutilizável
O GitHub Copilot usa o contexto do arquivo atual para gerar sugestões. Ao criar um novo arquivo YAML no diretório .github/workflows, o Copilot reconhece o esquema do GitHub Actions. Para workflows reutilizáveis, a diferença principal é o gatilho on: workflow_call. O Copilot geralmente sugere os gatilhos padrão on: push ou on: pull_request por padrão. Para direcionar suas sugestões para a sintaxe de workflow reutilizável, você precisa fornecer contexto explícito no arquivo.
O Copilot não tem conhecimento interno da estrutura de workflow do seu repositório. Ele depende do texto que você já digitou e das linhas ao redor. Se você iniciar um novo arquivo com um comentário descrevendo o propósito, o Copilot ajusta suas sugestões de acordo. Por exemplo, digitar # Workflow reutilizável para build Node.js no topo do arquivo faz com que o Copilot gere um campo name e um bloco on: workflow_call.
Pré-requisitos para Usar o Copilot com Workflows Reutilizáveis
Antes de começar, confirme se estes itens estão em ordem:
- O GitHub Copilot está habilitado no seu editor — VS Code, IDEs JetBrains ou Neovim com o plugin do Copilot.
- Você tem acesso de escrita ao repositório onde o workflow reutilizável será armazenado.
- O repositório que contém o workflow reutilizável é público ou acessível por meio de um repositório interno com as configurações de visibilidade corretas para sua organização.
- Você entende a sintaxe básica de YAML e os gatilhos do GitHub Actions.
Passos para Criar um Workflow Reutilizável com Ajuda do Copilot
Siga estes passos para criar um arquivo de workflow reutilizável e usar o Copilot para gerar a sintaxe correta.
- Abra um novo arquivo YAML no diretório de workflows
Navegue até seu repositório e crie um novo arquivo em.github/workflows/build-node.yml. A pastaworkflowsdeve existir. Se não existir, crie-a primeiro. O Copilot ativa automaticamente quando você abre um arquivo YAML dentro deste diretório. - Adicione um comentário descritivo no topo do arquivo
Digite# Workflow reutilizável para build Node.jscomo primeira linha. Este comentário informa ao Copilot o propósito do arquivo. Pressione Enter e aguarde o Copilot sugerir o camponame. Aceite a sugestão pressionando Tab. - Digite a palavra-chave do gatilho para workflows reutilizáveis
Em uma nova linha, digiteon:e pressione Enter. O Copilot pode sugerirpushoupull_request. Rejeite essas sugestões pressionando Escape. Em seguida, digite manualmenteworkflow_call:com dois espaços antes. Pressione Enter novamente. O Copilot agora reconhece o padrão de workflow reutilizável e pode sugeririnputs:ousecrets:como próximo bloco. - Defina as entradas usando sugestões do Copilot
Digite# inputsem uma nova linha. O Copilot geralmente sugere um template comnode-versioncomo entrada. Aceite a sugestão e edite os valores dedescriptionedefaultconforme necessário. Por exemplo, altere a versão padrão do Node para18. - Defina os segredos com uma dica de comentário
Digite# secretsem uma nova linha. O Copilot pode sugerirNPM_TOKENouDEPLOY_KEYcomo segredos. Aceite a sugestão e ajuste o camporequired: truese o segredo for obrigatório. - Escreva a seção de jobs com o Copilot
Digitejobs:em uma nova linha e pressione Enter. Digitebuild:com dois espaços. O Copilot sugere o camporuns-one uma lista completa de etapas de build. Revise cada sugestão. Aceite as etapas que correspondem ao seu workflow, comoactions/checkout@v4eactions/setup-node@v4. Edite a entrada de versão do Node para usar${{ inputs.node-version }}. - Salve e confirme o arquivo de workflow reutilizável
Salve o arquivo comobuild-node.yml. Confirme e envie o arquivo para o branch padrão. O workflow reutilizável agora está disponível para ser chamado por outros workflows.
Passos para Chamar um Workflow Reutilizável Usando o Copilot
Depois que o arquivo de workflow reutilizável existir, você pode criar um workflow chamador que o referencie. O Copilot ajuda a escrever a sintaxe correta de uses.
- Crie um novo arquivo de workflow chamador
Abra um novo arquivo em.github/workflows/ci.yml. Adicione um comentário como# Pipeline de CI que chama workflow reutilizável. - Defina o gatilho para o workflow chamador
Digiteon: pushe pressione Enter. O Copilot sugere branches. Aceite ou edite conforme necessário. - Adicione um job que chama o workflow reutilizável
Digitejobs:e pressione Enter. Digitecall-build:com dois espaços. Na próxima linha, digiteuses: ./.github/workflows/build-node.yml. O Copilot pode autocompletar o caminho se o arquivo existir no mesmo repositório. Pressione Tab para aceitar. - Passe entradas e segredos para o workflow reutilizável
Digitewith:em uma nova linha. O Copilot sugere os nomes das entradas que você definiu anteriormente, comonode-version: 18. Aceite a sugestão. Em seguida, digitesecrets:e o Copilot sugereNPM_TOKENou os segredos que você definiu. Aceite e mapeie-os para segredos do repositório usando${{ secrets.NPM_TOKEN }}. - Salve e teste o workflow chamador
Salve o arquivo e confirme-o em um branch. Envie o branch e abra um pull request. O GitHub Actions executa o workflow chamador, que invoca o workflow reutilizável. Verifique a aba Actions para confirmar que ambos os workflows são executados corretamente.
Erros Comuns e Como Evitá-los
Copilot Sugere Gatilhos Padrão em Vez de workflow_call
Ao iniciar um novo arquivo de workflow reutilizável, o Copilot geralmente sugere on: push porque é o gatilho mais comum. Para substituir isso, digite on: workflow_call manualmente após rejeitar a primeira sugestão do Copilot. Adicionar um comentário como # reutilizável no topo do arquivo também ajuda a direcionar as sugestões do Copilot.
Copilot Gera Caminho Incorreto para a Palavra-chave uses
No workflow chamador, o Copilot pode sugerir um caminho de URL completo como owner/repo/.github/workflows/build.yml@main em vez de um caminho relativo. Para workflows reutilizáveis no mesmo repositório, use o caminho relativo começando com ./. Digite manualmente ./.github/workflows/ e deixe o Copilot autocompletar o nome do arquivo. Verifique se o caminho corresponde exatamente ao nome do arquivo, incluindo a extensão .yml.
Entradas e Segredos Não São Passados Corretamente
O Copilot pode omitir o bloco with ou secrets no workflow chamador. Sempre verifique se todas as entradas definidas no workflow reutilizável estão presentes no chamador. Use os mesmos nomes de chave. Se um segredo for marcado como obrigatório, certifique-se de que o workflow chamador o passe usando a sintaxe ${{ secrets.SECRET_NAME }}. Segredos ausentes fazem com que o workflow reutilizável falhe em tempo de execução.
GitHub Copilot Individual vs GitHub Copilot Business para Edição de Workflows
| Item | GitHub Copilot Individual | GitHub Copilot Business |
|---|---|---|
| Preço | US$ 10 por mês | US$ 19 por usuário por mês |
| Sugestões YAML em workflows | Suporte total em todos os editores | Suporte total com controles de política em toda a organização |
| Preenchimento de código para repositórios privados | Sim | Sim |
| Exclusão de conteúdo para código público | Não disponível | O administrador pode bloquear sugestões baseadas em código público |
| Logs de auditoria para sugestões | Não disponível | Disponível no log de auditoria da organização |
Ambos os planos oferecem suporte ao Copilot nos mesmos editores e fornecem comportamento de autocompletar YAML idêntico para workflows do GitHub Actions. O plano Business adiciona controles administrativos que podem bloquear o Copilot de sugerir código que corresponda a repositórios públicos. Para equipes que trabalham com workflows sensíveis, o plano Business oferece recursos adicionais de conformidade.
Após concluir estas etapas, você pode criar e chamar workflows reutilizáveis com o Copilot gerando a maior parte da estrutura YAML. Para melhorar a precisão, sempre adicione um comentário no topo do arquivo descrevendo o propósito do workflow. Para workflows complexos com muitas entradas, divida o arquivo em seções menores e deixe o Copilot preencher cada bloco de cada vez. Essa abordagem reduz a chance de indentação incorreta ou parâmetros ausentes.