Pular para o conteúdo principal

GitHub Actions

1. Crie uma regra de confiança​

No console: app → OIDC → nova regra.

CampoExemplo
Padrão do subjectrepo:acme/app:ref:refs/tags/v* (ou repo:acme/app:environment:production)
Escoposbuilds:write, builds:read

Opcional, mas recomendado: restrinja a um arquivo de workflow com workflowRef. Regras que também casariam com pull requests são recusadas. Veja OIDC.

2. Adicione o workflow​

.github/workflows/moatgator.yml
name: moatgator
on:
push:
tags: ["v*"]
workflow_dispatch: {}
permissions:
contents: read
id-token: write # o job pede ao GitHub o token OIDC
jobs:
protect:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
with: { distribution: temurin, java-version: 17 }
- run: ./gradlew bundleRelease
- uses: moatgator-hq/github-action@v1 # em produção, fixe por SHA completo de commit
with:
artifact: app/build/outputs/bundle/release/*.aab
app-version: ${{ github.ref_name }}
app-id: app_REPLACE_ME # o app que confia neste repositório
config: moatgator.yml # opcional: valida antes de enviar
scan-min-grade: C # opcional: roda o Scan e falha abaixo desta nota

Troque app_REPLACE_ME pelo id do seu app. Para React Native e Flutter, mude a etapa de build e o caminho do artefato (veja os guias por plataforma).

Inputs, outputs e falhas​

  • Outputs: build-id, engine, protected (hoje sempre false), protected-path (vazio hoje), scan-grade, report-url.
  • O job termina com o código de saída do CLI e uma mensagem. Enquanto o motor está em prévia, a Action acrescenta uma anotação de warning, e require-protected: true faz o job falhar de propósito.
O Scan envia o seu pacote

O scan-min-grade envia o pacote para a Moatgator fazer a análise estática e o mantém por 24 horas. Fica desligado se você não definir.

Sem a Action​

- run: npx moatgator protect app/build/outputs/bundle/release/app-release.aab --app-version ${{ github.ref_name }}
env:
MOATGATOR_APP_ID: app_REPLACE_ME

O CLI pede o token OIDC ao GitHub, faz a troca e usa o token curto.

Checklist de segurança​

  • Dispare em tags ou em branches protegidas. Nunca em pull_request_target.
  • Mantenha as permissions mínimas, como acima.
  • Fixe toda action de terceiros por SHA (os SHAs acima foram conferidos na API do GitHub em 11 de outubro de 2026; atualize-os com o Dependabot).