fix(ci): repair kind-label gh calls and allow dependabot branches#13
Conversation
Dois bugs de workflow expostos quando o sistema de labels e o Dependabot
entraram em operação.
1. pr-labeler.yml — job kind-label falhava "not a git repository"
O job não faz actions/checkout (de propósito — pull_request_target
sem checkout de código não-confiável é o que o torna seguro). Mas sem
diretório git, o `gh pr edit` não consegue inferir o repositório e
falha. Corrigido passando --repo ${{ github.repository }} explícito
nos comandos gh — dispensa o diretório git.
Também adicionado `issues: write` ao permissions: labels são um
sub-recurso de issues na API REST, e sem essa permissão o
`gh label create` não cria uma label inexistente (caso de um fork
onde o Labels sync ainda não rodou).
2. pr-checks.yml — branch-naming rejeitava dependabot/*
O job Branch naming convention não aceitava o prefixo dependabot/*
como origem de PR para main. Os PRs que o Dependabot abre para
atualizar GitHub Actions falhavam o check. Adicionado dependabot/*
à lista de prefixos permitidos.
Causa raiz comum: as regras de CI foram escritas antes de o sistema de
labels e o Dependabot estarem em operação real — só rodando é que os
gaps apareceram.
🤖 Course PR ChecksChecks programáticos rodaram. Status de cada job no topo do PR. Revisão contextualO GitHub Copilot Code Review está configurado pra revisar
Resolve os comentários do Copilot antes de mergear. Lembrete da metodologiaNão avançar pro próximo módulo sem:
Ver |
|
Review retroativa. Corrigiu 2 bugs de workflow: o |
Objetivo
Corrige dois bugs nos workflows de CI, expostos agora que o sistema de
labels e o Dependabot entraram em operação.
Conceito coberto
Governança de repositório — correção de workflow. Setup, não código.
Tipo de PR
O que entra
pr-labeler.yml— o jobkind-labelfalhava comfatal: not a git repository. Ele não fazactions/checkout(depropósito —
pull_request_targetsem checkout de código não-confiávelé o que o mantém seguro), então o
ghnão tinha diretório git prainferir o repositório. Corrigido com
--repo ${{ github.repository }}explícito. Também adicionado
issues: writeaopermissions(labelssão sub-recurso de issues na API — sem isso o
gh label createnãocria label inexistente num fork).
pr-checks.yml— o jobBranch naming conventionrejeitava oprefixo
dependabot/*. Os 5 PRs que o Dependabot abriu para atualizarGitHub Actions falhavam o check. Adicionado
dependabot/*aos prefixospermitidos para PR em
main.Por que existe
As regras de CI foram escritas antes de o sistema de labels e o
Dependabot estarem rodando de fato. Só em operação real os gaps
apareceram —
kind-labelquebrava em todo PR; PRs do Dependabot erambarrados no naming.
Notas pro revisor
Depois deste PR mergear: o #6 mergeia limpo (kind-label para de falhar)
e os 5 PRs do Dependabot (#7–#11) passam no branch-naming — aí cada
bump major de action pode ser revisado individualmente.