basedosdados / basedosdados/pipelines
fix: table-approve falha em merges sem PR associado via API do GitHub
- Dominant language
- Python
- Stars
- 49
- Forks
- 22
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 167
Description
## Problema
O workflow `table-approve` dispara em todo push para `main`. O primeiro step busca o PR associado ao commit via `listPullRequestsAssociatedWithCommit`. Em squash merges, o GitHub cria um commit novo no `main` que não existia na branch do PR — a API pode não ter indexado a associação ainda no momento exato que o workflow roda, retornando lista vazia e causando `core.setFailed()`.
Resultado: o workflow falha com vermelho mesmo em merges legítimos sem a label `table-approve`, como aconteceu no merge do PR #1606.
## Causa raiz
O trigger `push` força o workflow a fazer uma lookup via API para descobrir o PR. Essa lookup tem timing issues com squash merge e não é necessária — o GitHub já expõe o contexto completo do PR no evento `pull_request: closed`.
## Solução
Mudar o trigger de `push` para `pull_request: types: [closed]` e usar o contexto do evento diretamente, eliminando todas as API lookups de PR e labels.
Contributor guide
Assessment
This issue has not been assessed yet.