Skip to content

PT BR Build testes e release

Vinícius Campos edited this page Aug 22, 2026 · 2 revisions

Build, testes e release

English · Início em português

O repositório fixa o SDK .NET 10.0.400 com roll-forward para o patch mais recente e instala .NET 8 e 10 na automação. Nullable reference types, implicit usings e warnings-as-errors ficam habilitados. O restore usa lock files do NuGet.

dotnet restore Offside.sln --locked-mode
dotnet build Offside.sln -c Release --no-restore
dotnet test Offside.sln -c Release --no-build --no-restore
dotnet pack Offside.sln -c Release --no-build --no-restore -o artifacts

A solution contém os sete projetos de produção mais testes de core, ASP.NET Core, FluentValidation, FastEndpoints, Azure App Configuration, MediatR e ferramenta. Os pacotes de biblioteca miram as combinações declaradas de netstandard2.0, net8.0 e net10.0; a ferramenta mira net8.0 e permite roll-forward para runtime major mais novo.

Integração contínua

O job build da CI restaura em modo locked, compila, testa, empacota, verifica o conteúdo dos pacotes e envia artefatos .nupkg/.snupkg. A validação exige readme, licença, ícone e documentação XML.

A compatibilidade MediatR roda em um job separado da CI, com matriz para 12.0.1, 13.1.0 e 14.2.0. Ela não pertence ao job de build e não roda no workflow de release. Tags v*.*.* executam restore, build, testes da solution, pack e publicação NuGet via OIDC; esse workflow não executa a matriz dedicada de versões MediatR.

Fluxo de instalação do CLI

flowchart TD
    Install[dotnet tool install --global Offside.Tool] --> Init[offside init]
    Init --> Root{--dir informado?}
    Root -->|sim| Target[Usar diretório de projeto explícito]
    Root -->|não| Cwd[Usar diretório atual]
    Target --> Copy[Copiar nove skills offside]
    Cwd --> Copy
    Copy --> Agents[Raízes de skills .cursor, .agents e .claude]
    Copy --> Catalogs[Templates de catálogos em errors]
    Force{--force?} -->|não| Preserve[Preservar arquivos existentes]
    Force -->|sim| Replace[Sobrescrever arquivos existentes]
Loading

offside init é scaffolding, não pré-requisito de runtime. Ele cria o diretório de projeto se ausente, copia nove skills para três raízes de agentes e então copia templates para errors/. Sem --force, arquivos existentes são preservados. Veja CLI para exemplos.

O comportamento de release e as versões desta página descrevem o commit-base pinado, não branches ou pacotes futuros.

Clone this wiki locally