basedosdados / basedosdados/pipelines

fix: table-approve falha em merges sem PR associado via API do GitHub

Open
#1,624 0 comments 0 reactions 1 assignee Claimed by @Winzen View on 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.