Skip to content

F0-3 CI: garantir instalação limpa (uv sync do zero) nos três repositórios #85

Description

@netty-linux

Contexto

O quality gate do nullain-agent (PR #27, mergeado) já roda uv sync + lint/typecheck/test/docker build. O nullain-agent-sdk tem ci.yml + release.yml. O nullain-sdk-search tem workflow de release no PyPI. Mas o ciclo de instalação limpa do zero (remover venv/lock e reconstruir tudo) não é uniforme entre os três repos — e foi exatamente isso que deixou a issue #77 (workaround tool.uv.sources de path local) passar até virar problema.

Objetivo

Cada repositório deve ter no CI um job explícito de instalação limpa que reproduz o que um usuário novo faria:

  1. nullain-agent-sdk: job clean-install que remove lock+venv e roda uv sync --frozen (ou sem --frozen se o lock for regenerado), depois make check completo
  2. nullain-agent: idem (aproveitar o quality gate existente como base)
  3. nullain-sdk-search: job que valida a instalação do bindings PyO3 a partir do sdist/wheel publicado (não do source tree), e uv sync limpo

Critérios de aceite

  • Job de instalação limpa existe e é verde nos 3 repos
  • Rodar o job a partir de um diretório sem venv reproduz sucesso 100% — sem depêndencia de caches pessoais ou workspaces irmãos
  • O CI do search valida o pacote publicado no PyPI (extras search-rust incluídos), não só o source

Notas

  • É o item mais valioso da consolidação: detecta dívidas de dependência antes de virarem incidentes
  • Não usar tool.uv.sources de path local em nenhum repositório — sub-SDK novo nasce publicado no PyPI
  • Fase: F0 consolidação (item 3 do plano consolidado)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions