fix(ci): zera Credentials Audit (SSOT) + destrava edge-integration-all#519
Conversation
…l (startup_failure) Triagem dos workflows vermelhos do main. 1) Credentials Audit — visual-search/index.ts lia HF_ACCESS_TOKEN via Deno.env.get() (bypass do SSOT, HIGH). Trocado por resolveCredential() (DB-first → env fallback), padrão já usado em ai-recommendations/elevenlabs. Audit volta a passar (0 new issues). 2) edge-integration-all.yml — job edge-fuzz-live usava secrets.* num if: de nível de job. O contexto 'secrets' não é permitido em if de job → o workflow inteiro falhava a compilar (startup_failure, 0 jobs, nome exibido como path). Gate movido para vars.SUPABASE_URL (permitido) + secret mapeado para env do job e presença checada via if de step (env.SUPABASE_SERVICE_ROLE_KEY != '').
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughEste PR refatora a gestão de credenciais em dois contextos: ajusta o workflow CI para condicionar o job ChangesRefatoração de gestão de credenciais
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Por quê: Mudanças de padrão bem delimitadas (workflow CI + una função edge) sem lógica densa. Workflow CI é ajuste estrutural de injeção de secrets; visual-search é substituição direta de acesso síncrono por resolver assíncrono. Ambas são mudanças pontuais e previsíveis. Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Updates to Preview Branch (claude/fix-ci-credentials-edge-integration) ↗︎
Tasks are run on every commit but only new migration files are pushed.
Preview Branch Database Settings ↗︎. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Contexto
Triagem dos workflows vermelhos do
main(advisory, não-bloqueantes). A Personalization E2E já voltou a verde sozinha (era flaky). Restavam 2 vermelhos reais, ambos corrigidos aqui.1. Credentials Audit ❌→✅
Causa:
supabase/functions/visual-search/index.tsliaHF_ACCESS_TOKENviaDeno.env.get()— bypass do SSOT (severidade HIGH, nova vs baseline).Fix: usa
resolveCredential("HF_ACCESS_TOKEN")(DB-first → env fallback), mesmo padrão deai-recommendations/elevenlabs-*.Verificação local:
npm run audit:credentials→✅ No new credential issues(exit 0).2. edge-integration-all ❌→✅ (startup_failure)
Causa: o job
edge-fuzz-livereferenciavasecrets.SUPABASE_SERVICE_ROLE_KEYnumif:de nível de job. O contextosecretsnão é permitido emifde job → o GitHub não compila o workflow → startup_failure (run com 0 jobs, nome exibido como o path do arquivo).Fix: gate do job só em
vars.SUPABASE_URL(permitido); secret mapeado paraenvdo job e presença checada porifde step (env.SUPABASE_SERVICE_ROLE_KEY != ''). Preserva a intenção "só roda live com credenciais" sem quebrar a compilação.Verificação local: YAML válido.
Escopo
2 arquivos, cirúrgico, sem mudança de comportamento de runtime do app. Não toquei na linha de
LOVABLE_API_KEY(não flagada pelo audit) para evitar scope creep.https://claude.ai/code/session_01QpLctApdgHrT7hBAS3dk71
Generated by Claude Code
Summary by cubic
Fixes CI by restoring the Credentials Audit (SSOT) and unblocking the
edge-integration-allworkflow. No runtime behavior changes.Deno.env.get("HF_ACCESS_TOKEN")withresolveCredential("HF_ACCESS_TOKEN")(DB-first → env fallback) insupabase/functions/visual-search/index.ts.secrets.*from job-levelif:. Gate onvars.SUPABASE_URL, map secret to jobenv, and check presence with step-levelif:to avoidstartup_failure.Written for commit afa8161. Summary will update on new commits.
Summary by CodeRabbit
Notas da Versão
Chores
Refactor