chore(backend): atualizar dependências para a última versão estável (xUnit v3, Aspire 13.6 com CLI bundle) - #162
Merged
Conversation
Remove as duas supressões que a atualização de pacotes tinha introduzido e resolve as causas. - xUnit1051 volta a valer: as 92 chamadas de teste que aceitam CancellationToken passam TestContext.Current.CancellationToken (DeserializeAsync com argumento nomeado, o token é o 3º parâmetro). - ASPIRE010: o AppHost adota AspireUseCliBundle=true. O build obtém CLI, dashboard e DCP via `dotnet dnx` em ~/.aspire; `dotnet run` delega para `aspire run`; o F5 do Visual Studio segue executando o AppHost.exe com os caminhos do bundle gravados no build. - A CLI sempre executa o build Debug (`aspire run` não aceita configuração), então o api-contract-check passa a compilar e rodar em Debug — com -c Release ele falhava procurando bin/Debug/AppHost.exe. - ADR 0050 reescrita (renomeada para ...-aspire-cli-bundle) e nota no MONOREPO.md sobre o download na primeira execução. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (29)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que muda
Atualiza todas as dependências do backend para a última versão estável. Nenhuma preview, conforme a ADR 0032.
global.json)Microsoft.Extensions.*, InMemory) edotnet-efMicrosoft.Extensions.Http.Resilience/ServiceDiscoveryAspire.Hosting.*eAspire.AppHost.Sdk, que estava esquecido em 13.4.6)xunit2.9.3 (fim da linha v2)xunit.v3.mtp-off4.0.1Também saiu do AppHost um
VersionOverrideque só repetia a versão central.Não atualizados, de propósito:
Microsoft.OpenApifica em 2.12.2, porque oMicrosoft.AspNetCore.OpenApi10.0.12 ainda exige[2.12.0, 3.0.0). A trava da ADR 0032 continua valendo.Npgsql, FluentValidation, Asp.Versioning, AwesomeAssertions, NSubstitute e o
xunit.runner.visualstudiojá estavam na última versão.Mudanças que não são só trocar a versão (ADR 0050)
xUnit v3 rodando sobre VSTest. O pacote padrão do v3 traz o Microsoft.Testing.Platform v2, que não roda com o
dotnet testem modo VSTest. O gate de cobertura (coverlet.msbuild) e o--logger trxdo CI dependem desse modo. Por isso usei a variante oficialxunit.v3.mtp-off. NoDirectory.Build.props, os projetos*Testspassaram a ser executáveis (OutputType=Exe), como o v3 exige. Migrar para o MTP fica para um PR próprio.Analisador xUnit1051 ativo. As 92 chamadas de teste que aceitam
CancellationTokenagora passamTestContext.Current.CancellationToken. É por isso que aparecem 15 arquivos de teste no diff, todos com mudança de uma linha.CLI bundle do Aspire (
AspireUseCliBundle=true). O Aspire 13.6 avisa (ASPIRE010) que os pacotes NuGet de dashboard e DCP serão descontinuados. Em vez de suprimir o aviso, o AppHost adota o bundle:dotnet dnxem~/.aspire. São cerca de 360 MB na primeira vez, e precisa de internet. Ninguém precisa instalar nada.dotnet run --project backend/AppHost --launch-profile http: continua sendo o comando, mas agora delega paraaspire run.AppHost.exedireto, com os caminhos do bundle gravados no build.api-contract-checkpassa a compilar e rodar em Debug. Oaspire runnão aceita configuração e sempre executa o build Debug. Com-c Release --no-build, o job falhava procurandobin/Debug/net10.0/AppHost.exe; reproduzi isso localmente antes de corrigir.No final não sobra nenhum
NoWarnno backend.Como foi verificado
Build e testes:
dotnet build backend/AdminBackend.slnx -c Releasesem avisos.dotnet testpassou nos 480 testes, com a mesma cobertura de antes (Identity 90,09%, Services 95,2%, SharedKernel 86,43%). Confirmei que o gate ainda reprova abaixo do limite (-p:Threshold=99) e que o TRX é gerado.Migrações:
dotnet ef migrations has-pending-model-changesnão encontrou mudança pendente nos dois serviços, então não há migração neste PR.Serviços isolados: identity e services rodaram sobre um Postgres descartável na porta 5433.
generate:api-types:checkdeu tipos idênticos,smoke_oidc_contract.pypassou e o Playwright passou em 4/4.AppHost com o bundle: testei três caminhos, cada um com seus checks:
AppHost.exedireto, como o F5 do Visual Studio faz: smoke OIDC ok.Os três usaram um volume Postgres temporário, sem tocar no
agenza-postgres-data. Depois restaurei oAppHost.cse removi o volume.Para o revisor
dnxno CI. Todo job que compila a solução (backend-ci, codeql, sonar) agora baixa o bundle no lugar dos pacotes NuGet de dashboard/DCP. O CI deste PR é a prova.dotnet run.asd) é a rodada inicial, que usavaNoWarn; o segundo remove as supressões. Vale fazer squash no merge.🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Tests
Documentation