Integração com CI

Consultar registro de pacote Android no GitHub Actions

O workflow pode consultar o applicationId e a impressão do certificado de produção antes da promoção. A chave da API deve ficar em um segredo criptografado do CI ou atrás de um proxy interno.

Resumo

Adicione uma consulta de registro ao GitHub Actions sem expor a chave da API do Google.

Para quem: Equipes que automatizam build, assinatura e lançamento Android com GitHub Actions.

Etapas do lançamento

  1. Resolva o applicationId de produção a partir da variante de release.
  2. Extraia a impressão SHA-256 pública do artefato assinado.
  3. Chame a API oficial em um job protegido ou endpoint interno.
  4. Bloqueie a promoção em status pendente ou divergente, com política de exceção manual.

Informações-chave

SegredoChave da API Google
Saída segura do buildSHA-256 do certificado público
Gate recomendadoAntes da promoção para a loja
Nota prática

Nunca grave a chave da API, a senha do keystore ou a chave privada nos logs. A impressão pública do certificado não é a chave privada.

Orientação detalhada

Um job como gate do release

Execute após assinar o APK e antes de promovê-lo. Guarde a chave em GitHub Actions Secrets, restrinja-a à Android Developer ID Status API e evite contextos de pull request em que código não confiável acessa credenciais de release.

O trecho abaixo é um exemplo mínimo que consulta apenas o pacote. Para validar a assinatura, acrescente certificateFingerprint com o SHA-256 do APK de produção. Analise state com jq; estados estáveis bloqueiam o release e RESOURCE_EXHAUSTED, INTERNAL e UNAVAILABLE recebem apenas backoff limitado.

  • Nunca exiba a chave da API.
  • Fixe a versão de Actions de terceiros no job de release.
  • Inclua certificateFingerprint para conferir a assinatura de produção.
Etapa ilustrativa e mínima do GitHub Actions
- name: Check Android registration
  env:
    API_KEY: ${{ secrets.ANDROID_DEVELOPER_ID_API_KEY }}
    PACKAGE_NAME: com.example.app
  run: |
    curl --fail --silent --show-error \
      -H "X-Goog-Api-Key: $API_KEY" \
      "https://androiddeveloperidstatus.googleapis.com/v1/packages/$PACKAGE_NAME/packageRegistrationStatus:check" \
      | tee status.json
    test "$(jq -r .state status.json)" = "REGISTERED"

Informe o nome de produção e, para conferir a assinatura, o SHA-256 do certificado do APK entregue aos usuários. A consulta não substitui a análise da loja.

Verificar status →

Perguntas frequentes

O CI deve chamar o endpoint do navegador do PkgReady?

Não. O CI deve chamar a API oficial de servidor com uma chave protegida e pertencente à sua organização.

O que deve bloquear o lançamento?

NOT_REGISTERED e divergência de certificado bloqueiam a promoção. Erros de quota e serviço são falhas de infraestrutura com tentativas limitadas.

Fontes e revisão

Última revisão: