Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
ef5414a
docs(roadmap): atualizar para Sprint 3 Parte 2
Dec 12, 2025
a57c34c
feat(locations): adicionar endpoints CRUD admin para AllowedCities
Dec 12, 2025
313a622
wip: migrar Commands/Queries/Handlers para implementação própria do M…
Dec 12, 2025
b0cb72f
test(locations): adicionar testes unitários e de integração para Allo…
Dec 12, 2025
ce1f3fa
test(locations): adicionar testes E2E para endpoints AllowedCities
Dec 12, 2025
2f81213
fix(locations): registrar handlers no DI container e corrigir parâmet…
Dec 12, 2025
4cbde3a
refactor(locations): IbgeService agora usa banco de dados ao invés de…
Dec 12, 2025
ea1a963
feat(locations): implementar exception handling com status codes HTTP…
Dec 12, 2025
0c48b7a
fix(locations): remover 15 warnings do módulo Locations
Dec 12, 2025
0f7ff0a
docs(roadmap): atualizar progresso do Sprint 3 Parte 2
Dec 12, 2025
d1ce745
fix: corrigir erros de compilação e exception handling em E2E tests
Dec 12, 2025
c21e2c3
docs: adicionar tarefas originais do roadmap à Sprint 3 Parte 4
Dec 12, 2025
e8683c0
refactor: substituir NSubstitute por Moq para padronização
Dec 12, 2025
0a44810
refactor: substituir Guid.CreateVersion7() por UuidGenerator.NewId()
Dec 12, 2025
1de5dc1
build: migrar solução para formato .slnx (.NET 9+)
Dec 12, 2025
ae6ef2d
feat(docs): automação completa de OpenAPI e GitHub Pages
Dec 12, 2025
ae65929
feat(scripts): adicionar scripts de seeding de dados
Dec 12, 2025
fe5a964
feat(shared): implementar seeding automático de dados de desenvolvimento
Dec 12, 2025
3d2b260
feat(aspire): migrar migrations para Aspire AppHost e remover Migrati…
Dec 12, 2025
53943da
feat(providers): implementar integração Providers ↔ ServiceCatalogs
Dec 12, 2025
32f854a
Merge branch 'master' into sprint3-parte2-admin-endpoints
Dec 12, 2025
e334c4d
fix: resolve build errors and code quality issues
Dec 12, 2025
7b37dc6
docs(roadmap): atualizar Sprint 3 como 100% completo
Dec 12, 2025
f4fac92
fix: ajustes finais em testes e cache service
Dec 12, 2025
fe94741
fix: corrigir assinaturas dos métodos de seeding
Dec 12, 2025
fe216b9
fix: corrigir erros de compilação e formatar código
Dec 12, 2025
5c16c0c
fix: implementar tuple (value, isCached) no ICacheService.GetAsync e …
Dec 12, 2025
7c2c0ea
fix: implementar melhorias do PR review
Dec 12, 2025
27e9113
feat: adicionar Bruno Collections completas para ServiceCatalogs
Dec 12, 2025
b09fcc8
fix: resolver feedback de code review e testes de integração
Dec 12, 2025
9bfa947
fix: usar idMap nos services + documentar scripts de coverage
Dec 12, 2025
b0b9470
docs: auditoria completa e documentação de todos os scripts
Dec 13, 2025
ef3aa47
refactor: simplificar scripts - remover redundâncias e over-engineering
Dec 13, 2025
afb3b17
refactor: simplificar infrastructure - remover redundâncias
Dec 13, 2025
18550b0
fix: aplicar correções de code review
Dec 13, 2025
618d193
chore: aplicar dotnet format e remover documento de trabalho
Dec 13, 2025
5b0d74a
fix: corrigir issues de code review
Dec 13, 2025
c5f79b4
fix(ci): corrigir falso positivo no check de formatação
Dec 13, 2025
fa50798
fix(ci): corrigir check de formatação em ambos workflows
Dec 13, 2025
d8bb00d
refactor: resolve SonarQube warnings (S1135 TODOs, S2139 exception ha…
Dec 13, 2025
dd768d0
fix(ci): resolve pr-validation workflow issues - fix trailing whitesp…
Dec 13, 2025
2a349f5
fix: apply code review feedback - improve cancellation handling, cach…
Dec 13, 2025
302c5e0
docs(roadmap): atualizar Sprint 3 como 100% concluída - todas as 4 pa…
Dec 13, 2025
9f7b09a
refactor: remover ExampleSchemaFilter problemático e seus testes
Dec 13, 2025
2559cb8
fix: corrigir erros de compilação críticos
Dec 13, 2025
5543174
fix: aplicar correções do code review
Dec 13, 2025
311a6fe
refactor: remover overengineering - ModuleTagsDocumentFilter e CacheW…
Dec 13, 2025
2e9e085
fix(ci): focar dotnet format apenas em style (não code quality analyz…
Dec 13, 2025
72115b6
fix(tests): UserProfileUpdatedDomainEventHandler deve re-lançar exceç…
Dec 13, 2025
6ca7dcc
fix(tests): Providers event handlers devem re-lançar exceção original
Dec 13, 2025
c76bc62
fix(code-review): apply GitHub bot suggestions - security, robustness…
Dec 13, 2025
4e26c1a
fix(tests): UserProfileUpdatedDomainEventHandler test deve esperar ex…
Dec 13, 2025
da56552
fix(code-review): aplicar sugestões críticas do CodeRabbit
Dec 13, 2025
0a666cf
fix(build): DapperConnection.HandleDapperError deve retornar exceção
Dec 13, 2025
bc2d0e9
fix(warnings): resolve critical SonarQube warnings without pragma sup…
Dec 14, 2025
0fd9c0c
fix(warnings): resolve all actionable warnings without pragma suppres…
Dec 14, 2025
0506176
fix(tests): update AzureBlobStorageService test name to match excepti…
Dec 14, 2025
8f5ff20
fix(editorconfig): add trailing newline to comply with insert_final_n…
Dec 14, 2025
95436e2
fix(code-quality): address security, exception handling, and document…
Dec 14, 2025
15d1263
fix(exceptions): preserve exception types to maintain HTTP status cod…
Dec 14, 2025
3bfede4
fix(security,performance,tests): prevent PII leakage, optimize token …
Dec 14, 2025
ff1fe58
fix(tests): update RequestLoggingMiddleware test for unwrapped except…
Dec 14, 2025
f88b246
fix(warnings,migrations,api): resolve build warnings and environment …
Dec 14, 2025
c9f268c
fix(security,tests): remove PII from logs and update ArgumentExceptio…
Dec 14, 2025
213bf76
fix(auth,tests): use dynamic token expiry and update ArgumentExceptio…
Dec 14, 2025
29543fd
fix(auth,security): correct HybridCache factory signature and prevent…
Dec 14, 2025
8b5d0f4
fix(auth,security): correct HybridCache factory signature and prevent…
Dec 14, 2025
3b67333
refactor(auth): simplify HybridCache factory with async ValueTask lambda
Dec 14, 2025
184ce63
fix(auth): use dynamic token expiration and improve cache factory sig…
Dec 14, 2025
3cbb5f8
fix(auth): remove redundant token fetch before cache check
Dec 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
274 changes: 274 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
# EditorConfig é incrível: https://EditorConfig.org

# Arquivo principal
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# Arquivos C# e .NET
[*.{cs,csx,vb,vbx,csproj,fsproj,vbproj,props,targets}]
indent_style = space
indent_size = 4

# Arquivos de configuração e dados
[*.{json,js,jsx,ts,tsx,xml,yml,yaml}]
indent_style = space
indent_size = 2

# Arquivos Markdown
[*.md]
trim_trailing_whitespace = false

# Shell scripts
[*.sh]
end_of_line = lf

# PowerShell scripts
[*.ps1]
end_of_line = lf

# Docker files
[Dockerfile]
end_of_line = lf

# =====================================
# REGRAS DE ANÁLISE DE CÓDIGO C# - PRODUÇÃO
# =====================================
[*.cs]

# Regras básicas de qualidade
dotnet_diagnostic.CA1515.severity = none # Consider making public types internal
dotnet_diagnostic.CA1848.severity = none # Use LoggerMessage delegates instead of LoggerExtensions methods

# CRÍTICAS DE SEGURANÇA - RIGOROSAS EM PRODUÇÃO
# CA2007: ConfigureAwait(false) - importante em bibliotecas, opcional em aplicações ASP.NET Core
dotnet_diagnostic.CA2007.severity = suggestion # Consider calling ConfigureAwait on the awaited task

# CA1031: Catch específico - importante para diagnóstico, mas permite exceções genéricas em pontos de entrada
dotnet_diagnostic.CA1031.severity = suggestion # Modify to catch a more specific allowed exception type

# CA1062: Validação de null - crítico para APIs públicas
dotnet_diagnostic.CA1062.severity = warning # Validate parameter is non-null before using it

# CA2000: Dispose de recursos - crítico para vazamentos de memória
dotnet_diagnostic.CA2000.severity = warning # Call System.IDisposable.Dispose on object

# CA5394: Random inseguro - CRÍTICO para segurança criptográfica
dotnet_diagnostic.CA5394.severity = error # Random is an insecure random number generator

# CA2100: SQL Injection - CRÍTICO para segurança de dados
dotnet_diagnostic.CA2100.severity = error # Review if the query string accepts any user input

# Parameter naming conflicts with reserved keywords
dotnet_diagnostic.CA1716.severity = none # Rename parameter so that it no longer conflicts with reserved keywords

# Regras de estilo menos críticas
dotnet_diagnostic.CA1305.severity = none # Specify IFormatProvider
dotnet_diagnostic.CA1307.severity = none # Specify StringComparison for clarity
dotnet_diagnostic.CA1310.severity = none # Specify StringComparison for performance
dotnet_diagnostic.CA1304.severity = none # Specify CultureInfo
dotnet_diagnostic.CA1308.severity = none # Normalize strings to uppercase

# Performance (sugestões)
dotnet_diagnostic.CA1863.severity = suggestion # Cache CompositeFormat for repeated use
dotnet_diagnostic.CA1869.severity = suggestion # Cache and reuse JsonSerializerOptions instances
dotnet_diagnostic.CA1860.severity = suggestion # Prefer comparing Count to 0 rather than using Any()
dotnet_diagnostic.CA1851.severity = suggestion # Possible multiple enumerations of IEnumerable
dotnet_diagnostic.CA1859.severity = suggestion # Change return type for improved performance
dotnet_diagnostic.CA1822.severity = suggestion # Member does not access instance data and can be marked as static

# Type sealing e organização
dotnet_diagnostic.CA1852.severity = none # Type can be sealed because it has no subtypes
dotnet_diagnostic.CA1812.severity = none # Internal class that is apparently never instantiated
dotnet_diagnostic.CA1050.severity = none # Declare types in namespaces (Program class)
dotnet_diagnostic.CA1052.severity = none # Static holder types should be static (Program class)

# Configurações de API
dotnet_diagnostic.CA2227.severity = none # Collection properties should be read-only (configuration POCOs)
dotnet_diagnostic.CA1002.severity = none # Do not expose generic lists (configuration POCOs)
dotnet_diagnostic.CA1056.severity = none # Use Uri instead of string for URL properties (configuration classes)

# Exception handling específico
dotnet_diagnostic.CA1032.severity = none # Exception constructors (custom exceptions)
dotnet_diagnostic.CA1040.severity = none # Avoid empty interfaces (marker interfaces)

# Domain naming conventions
dotnet_diagnostic.CA1720.severity = none # Identifiers contain type names (domain naming)
dotnet_diagnostic.CA1711.severity = none # Types end with reserved suffixes (domain naming)
dotnet_diagnostic.CA1724.severity = none # Type name conflicts with namespace name
dotnet_diagnostic.CA1725.severity = none # Parameter name should match interface declaration

# Operadores e conversões
dotnet_diagnostic.CA2225.severity = none # Operator overloads provide named alternatives (value objects)
dotnet_diagnostic.CA1866.severity = suggestion # Use char overloads for StartsWith
dotnet_diagnostic.CA2234.severity = none # Use URI overload instead of string overload

# Generics
dotnet_diagnostic.CA1000.severity = none # Do not declare static members on generic types
dotnet_diagnostic.CA2955.severity = none # Use comparison to default(T) instead

# =====================================
# REGRAS ESPECÍFICAS PARA TESTES
# =====================================
[**/*Test*.cs,**/Tests/**/*.cs,**/tests/**/*.cs,**/MeAjudaAi.*.Tests/**/*.cs,**/Modules/**/Tests/**/*.cs]

# Relaxar regras críticas APENAS em testes
dotnet_diagnostic.CA2007.severity = none # ConfigureAwait não necessário em testes
dotnet_diagnostic.CA1031.severity = none # Catch genérico OK em testes
dotnet_diagnostic.CA1062.severity = none # Validação de null menos crítica em testes
dotnet_diagnostic.CA5394.severity = suggestion # Random pode ser usado em dados de teste
dotnet_diagnostic.CA2100.severity = suggestion # SQL dinâmico pode ser usado em testes

# Nullable warnings em testes (intencionalmente testando cenários null)
dotnet_diagnostic.CS8604.severity = none # Possible null reference argument - OK em testes de validação
dotnet_diagnostic.CS8625.severity = none # Cannot convert null literal to non-nullable reference - OK em testes

# Test-specific warnings (noise in test context)
dotnet_diagnostic.CA1707.severity = none # Remove underscores from member names (common in test methods)
dotnet_diagnostic.CA1303.severity = none # Use resource tables instead of literal strings (console logging in tests)
dotnet_diagnostic.CA1054.severity = none # Use Uri instead of string for URL parameters (test helpers)
dotnet_diagnostic.CA1816.severity = none # Call GC.SuppressFinalize in DisposeAsync (test infrastructure)
dotnet_diagnostic.CA1311.severity = none # Specify culture for string operations (test data)
dotnet_diagnostic.CA1823.severity = none # Unused fields (test assemblies)
dotnet_diagnostic.CA1508.severity = none # Dead code conditions (test scenarios)
dotnet_diagnostic.CA1034.severity = none # Do not nest types (test factories)
dotnet_diagnostic.CA1051.severity = none # Do not declare visible instance fields (test fixtures)
dotnet_diagnostic.CA2213.severity = none # Disposable fields not disposed (test containers)
dotnet_diagnostic.CA1819.severity = none # Properties should not return arrays (test data)
dotnet_diagnostic.CA1024.severity = none # Use properties where appropriate (test helpers)
dotnet_diagnostic.CA2263.severity = none # Prefer generic overloads (test assertions)
dotnet_diagnostic.CA5351.severity = suggestion # Broken cryptographic algorithms OK for test data
dotnet_diagnostic.CA2201.severity = none # Exception type System.Exception is not sufficiently specific (test mocks)

# Performance and code quality (relaxed for tests)
dotnet_diagnostic.CA1827.severity = none # Use Any() instead of Count() (test validations)
dotnet_diagnostic.CA1829.severity = none # Use Count property instead of Enumerable.Count (test validations)
dotnet_diagnostic.CA1826.severity = none # Use indexable collections directly (test data)
dotnet_diagnostic.CA1861.severity = none # Prefer static readonly fields over constant arrays (micro-optimization)
dotnet_diagnostic.CA1063.severity = none # Implement IDisposable correctly (test infrastructure)
dotnet_diagnostic.CA1721.severity = none # Property names confusing with methods (test mocks)
dotnet_diagnostic.CA2214.severity = none # Do not call overridable methods in constructors (test base classes)
dotnet_diagnostic.CA2254.severity = none # Logging message template should not vary (test logging)
dotnet_diagnostic.CA2208.severity = none # Argument exception parameter names (test scenarios)
dotnet_diagnostic.CA2215.severity = none # Dispose methods should call base.Dispose (test infrastructure)

# xUnit specific suppressions (globally disabled to reduce noise during .NET 10 migration)
dotnet_diagnostic.xUnit1012.severity = none # Null should not be used for type parameter (common in test data)
# xUnit1051: Use TestContext.Current.CancellationToken - Suppressed due to:
# - 755+ violations across test suite (introduced in xUnit v3 migration)
# - Planned refactoring in dedicated sprint to update async tests systematically
# - Current test harness relies on default cancellation tokens for integration test stability
# - Re-enable after test infrastructure modernization (tracked in technical debt)
dotnet_diagnostic.xUnit1051.severity = none

# Code analysis suppressions for test code
dotnet_diagnostic.CA2000.severity = none # Dispose objects before losing scope (false positives in test code like StringContent)

# =====================================
# IDE STYLE RULES (TODOS OS ARQUIVOS)
# =====================================
[*.cs]

# IDE style warnings (non-critical formatting)
dotnet_diagnostic.IDE0057.severity = suggestion # Substring can be simplified
dotnet_diagnostic.IDE0130.severity = none # Namespace does not match folder structure (legacy projects)
dotnet_diagnostic.IDE0010.severity = suggestion # Populate switch
dotnet_diagnostic.IDE0040.severity = none # Accessibility modifiers required (interface members are public by default)
dotnet_diagnostic.IDE0039.severity = none # Use local function instead of lambda (style preference)
dotnet_diagnostic.IDE0061.severity = none # Use block body for local function (style preference)
dotnet_diagnostic.IDE0062.severity = none # Local function can be made static (micro-optimization)
dotnet_diagnostic.IDE0036.severity = none # Modifiers are not ordered (cosmetic)
dotnet_diagnostic.IDE0022.severity = none # Use block body for method (endpoint style preference)
dotnet_diagnostic.IDE0120.severity = none # Simplify LINQ expression (test scenarios)
dotnet_diagnostic.IDE0060.severity = none # Remove unused parameter
dotnet_diagnostic.IDE0059.severity = none # Unnecessary assignment of a value
dotnet_diagnostic.IDE0200.severity = none # Lambda expression can be removed
dotnet_diagnostic.IDE0290.severity = none # Use primary constructor
dotnet_diagnostic.IDE0301.severity = none # Collection initialization can be simplified
dotnet_diagnostic.IDE0305.severity = none # Collection initialization can be simplified
dotnet_diagnostic.IDE0052.severity = none # Private member can be removed as the value assigned is never read
dotnet_diagnostic.IDE0078.severity = none # Use pattern matching
dotnet_diagnostic.IDE0005.severity = none # Using directive is unnecessary

# =====================================
# SONAR/THIRD-PARTY ANALYZER RULES
# =====================================
[*.cs]

# SonarSource rules
dotnet_diagnostic.S1118.severity = none # Utility classes should not have public constructors
dotnet_diagnostic.S3903.severity = none # Types should be declared in named namespaces
dotnet_diagnostic.S3267.severity = none # Loops should be simplified using LINQ (readability preference)
dotnet_diagnostic.S1066.severity = none # Mergeable if statements (readability preference)
dotnet_diagnostic.S6610.severity = none # StartsWith overloads
dotnet_diagnostic.S6608.severity = none # Use indexing instead of LINQ Last
dotnet_diagnostic.S3246.severity = none # Generic type parameter covariance
dotnet_diagnostic.S2326.severity = none # Unused type parameters
dotnet_diagnostic.S3260.severity = none # Record classes should be sealed
dotnet_diagnostic.S4487.severity = none # Unread private fields (metrics fields)
dotnet_diagnostic.S1135.severity = none # TODO comments
dotnet_diagnostic.S1133.severity = none # Deprecated code comments
dotnet_diagnostic.S1186.severity = none # Empty methods (migration methods)
dotnet_diagnostic.S3427.severity = none # Method signature overlap
dotnet_diagnostic.S1144.severity = none # Unused private methods
dotnet_diagnostic.S125.severity = none # Remove commented code
dotnet_diagnostic.S3400.severity = none # Methods that return constants
dotnet_diagnostic.S3875.severity = none # Remove this overload of operator
dotnet_diagnostic.S1481.severity = none # Remove the unused local variable
dotnet_diagnostic.S1172.severity = none # Remove this unused method parameter
dotnet_diagnostic.S1854.severity = none # Remove this useless assignment to local variable
dotnet_diagnostic.S2139.severity = none # Either log this exception and handle it, or rethrow it
dotnet_diagnostic.S2234.severity = none # Parameters have the same names but not the same order
dotnet_diagnostic.S2325.severity = none # Make this method static
dotnet_diagnostic.S2955.severity = none # Use comparison to default(T) instead
dotnet_diagnostic.S3358.severity = none # Extract this nested ternary operation
dotnet_diagnostic.S6667.severity = none # Logging in a catch clause should pass the caught exception
dotnet_diagnostic.S927.severity = none # Rename parameter to match interface declaration

# =====================================
# COMPILER WARNINGS
# =====================================
[*.cs]

# Compiler warnings (less critical in test context)
dotnet_diagnostic.CS1570.severity = none # XML comment malformed (test documentation)
dotnet_diagnostic.CS1998.severity = none # Async method lacks await (test methods)
dotnet_diagnostic.CS8321.severity = none # Local function declared but never used (test helpers)

# =====================================
# NUGET E BUILD WARNINGS
# =====================================
[*.cs]

# NuGet package warnings
dotnet_diagnostic.NU1603.severity = none # Package dependency version conflicts
dotnet_diagnostic.NU1605.severity = none # Package downgrade warnings

# =====================================
# ORGANIZAÇÃO E FORMATAÇÃO
# =====================================
[*.cs]

# Organização de usings
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false

# Preferências de qualidade de código
dotnet_analyzer_diagnostic.category-roslynator.severity = warning

# =====================================
# REGRAS ESPECÍFICAS PARA MIGRATIONS
# =====================================
[**/Migrations/**/*.cs]

# Relaxar todas as regras em migrations (código gerado)
dotnet_diagnostic.CA1062.severity = none
dotnet_diagnostic.CA2000.severity = none
dotnet_diagnostic.CA5394.severity = none
dotnet_diagnostic.CA2100.severity = none
dotnet_diagnostic.CA1031.severity = none
dotnet_diagnostic.CA2007.severity = none
36 changes: 26 additions & 10 deletions .github/workflows/aspire-ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ jobs:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Restore dependencies
run: dotnet restore MeAjudaAi.sln --force-evaluate
run: dotnet restore MeAjudaAi.slnx --force-evaluate

- name: Build solution
run: dotnet build MeAjudaAi.sln --no-restore --configuration Release --verbosity minimal
run: dotnet build MeAjudaAi.slnx --no-restore --configuration Release --verbosity minimal

- name: Install PostgreSQL client
run: |
Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Restore dependencies
run: dotnet restore MeAjudaAi.sln --force-evaluate
run: dotnet restore MeAjudaAi.slnx --force-evaluate

- name: Validate Aspire AppHost
run: |
Expand Down Expand Up @@ -168,16 +168,32 @@ jobs:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Restore dependencies
run: dotnet restore MeAjudaAi.sln --force-evaluate
run: dotnet restore MeAjudaAi.slnx --force-evaluate

- name: Check code formatting
run: |
dotnet format --verify-no-changes --verbosity normal \
MeAjudaAi.sln || {
echo "🔍 Checking code formatting..."
# Only check whitespace and style (not SonarQube analyzer warnings)
set -o pipefail
dotnet format --verify-no-changes \
--include whitespace style \
--verbosity normal \
MeAjudaAi.slnx \
2>&1 | tee format-output.txt
FORMAT_EXIT_CODE=${PIPESTATUS[0]}

# Check if any files were actually formatted (not just warnings)
if grep -q "Formatted code file" format-output.txt; then
echo "⚠️ Code formatting issues found."
echo "Run 'dotnet format' locally to fix."
echo "Run 'dotnet format --include whitespace style' locally to fix."
grep "Formatted code file" format-output.txt
exit 1
}
elif [ $FORMAT_EXIT_CODE -ne 0 ]; then
echo "⚠️ Formatting check failed with exit code $FORMAT_EXIT_CODE"
exit $FORMAT_EXIT_CODE
else
echo "✅ No formatting changes needed"
fi

- name: Run vulnerability scan
run: |
Expand All @@ -190,7 +206,7 @@ jobs:
echo "🔍 Running focused code quality checks..."
# Check for basic C# issues (quiet mode)
echo "Checking C# syntax..."
dotnet build MeAjudaAi.sln --verbosity quiet --no-restore
dotnet build MeAjudaAi.slnx --verbosity quiet --no-restore
echo "✅ Code quality checks passed"

# Build validation for individual services (without publishing)
Expand All @@ -214,7 +230,7 @@ jobs:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Restore dependencies
run: dotnet restore MeAjudaAi.sln --force-evaluate
run: dotnet restore MeAjudaAi.slnx --force-evaluate

- name: Validate ${{ matrix.service.name }} builds for containerization
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ jobs:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: 🔧 Restore dependencies
run: dotnet restore MeAjudaAi.sln --force-evaluate
run: dotnet restore MeAjudaAi.slnx --force-evaluate

- name: Build solution
run: dotnet build MeAjudaAi.sln --configuration Release --no-restore
run: dotnet build MeAjudaAi.slnx --configuration Release --no-restore

- name: Setup PostgreSQL connection
id: db
Expand Down
Loading
Loading