Como Usar o GitHub Copilot com Workflows Reutilizáveis do GitHub Actions
🔍 WiseChecker

Como Usar o GitHub Copilot com Workflows Reutilizáveis do GitHub Actions

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 # inputs ou # secrets para 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/workflows de um repositório público ou de um repositório interno com as configurações de acesso adequadas.

ADVERTISEMENT

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.

  1. 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 pasta workflows deve existir. Se não existir, crie-a primeiro. O Copilot ativa automaticamente quando você abre um arquivo YAML dentro deste diretório.
  2. Adicione um comentário descritivo no topo do arquivo
    Digite # Workflow reutilizável para build Node.js como primeira linha. Este comentário informa ao Copilot o propósito do arquivo. Pressione Enter e aguarde o Copilot sugerir o campo name. Aceite a sugestão pressionando Tab.
  3. Digite a palavra-chave do gatilho para workflows reutilizáveis
    Em uma nova linha, digite on: e pressione Enter. O Copilot pode sugerir push ou pull_request. Rejeite essas sugestões pressionando Escape. Em seguida, digite manualmente workflow_call: com dois espaços antes. Pressione Enter novamente. O Copilot agora reconhece o padrão de workflow reutilizável e pode sugerir inputs: ou secrets: como próximo bloco.
  4. Defina as entradas usando sugestões do Copilot
    Digite # inputs em uma nova linha. O Copilot geralmente sugere um template com node-version como entrada. Aceite a sugestão e edite os valores de description e default conforme necessário. Por exemplo, altere a versão padrão do Node para 18.
  5. Defina os segredos com uma dica de comentário
    Digite # secrets em uma nova linha. O Copilot pode sugerir NPM_TOKEN ou DEPLOY_KEY como segredos. Aceite a sugestão e ajuste o campo required: true se o segredo for obrigatório.
  6. Escreva a seção de jobs com o Copilot
    Digite jobs: em uma nova linha e pressione Enter. Digite build: com dois espaços. O Copilot sugere o campo runs-on e uma lista completa de etapas de build. Revise cada sugestão. Aceite as etapas que correspondem ao seu workflow, como actions/checkout@v4 e actions/setup-node@v4. Edite a entrada de versão do Node para usar ${{ inputs.node-version }}.
  7. Salve e confirme o arquivo de workflow reutilizável
    Salve o arquivo como build-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.

ADVERTISEMENT

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.

  1. 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.
  2. Defina o gatilho para o workflow chamador
    Digite on: push e pressione Enter. O Copilot sugere branches. Aceite ou edite conforme necessário.
  3. Adicione um job que chama o workflow reutilizável
    Digite jobs: e pressione Enter. Digite call-build: com dois espaços. Na próxima linha, digite uses: ./.github/workflows/build-node.yml. O Copilot pode autocompletar o caminho se o arquivo existir no mesmo repositório. Pressione Tab para aceitar.
  4. Passe entradas e segredos para o workflow reutilizável
    Digite with: em uma nova linha. O Copilot sugere os nomes das entradas que você definiu anteriormente, como node-version: 18. Aceite a sugestão. Em seguida, digite secrets: e o Copilot sugere NPM_TOKEN ou os segredos que você definiu. Aceite e mapeie-os para segredos do repositório usando ${{ secrets.NPM_TOKEN }}.
  5. 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.

ADVERTISEMENT