Skip to content

Validate localized authentication resources in Abstractions builds - #4819

Draft
paulmedynski wants to merge 1 commit into
dev/paul/aot/phase-1.4from
dev/paul/aot/phase-1.5
Draft

paulmedynski wants to merge 1 commit into
dev/paul/aot/phase-1.4from
dev/paul/aot/phase-1.5

Conversation

@paulmedynski

Copy link
Copy Markdown
Contributor

Description

Parameterize localization validation and activate it for Abstractions in official package builds.

  • Require explicit resource-directory and allowlist-section inputs in the shared step.
  • Preserve the driver's existing allowlist and add an independent Abstractions section.
  • Validate Abstractions resources before analysis/compilation, alongside the existing driver gate.
  • Test parameter selection, missing-section rejection and actual pipeline invocation contracts.
  • Preserve newer upstream translations; do not carry obsolete pipeline churn.

Layer 5 of 6 in the seven-PR phase-one authentication stack.

Issues

No issue is automatically closed by this localization infrastructure layer.

Testing

  • pwsh -NoProfile -Command 'Import-Module Pester -MinimumVersion 5.0; $c = New-PesterConfiguration; $c.Run.Path = @("./eng/pipelines/onebranch/scripts/tests/validate-localization.Tests.ps1", "./eng/pipelines/onebranch/scripts/tests/pipeline-invocation.Tests.ps1"); $c.Run.Exit = $true; $c.Output.Verbosity = "Minimal"; Invoke-Pester -Configuration $c' — passed, 43 tests. Six new checks failed as expected before implementation.
  • pwsh -NoProfile -File eng/pipelines/onebranch/scripts/validate-localization.ps1 -ResourcesDirectory src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Resources -AllowlistPath .config/LocalizationValidationAllowlist.json -AllowlistSection AbstractionsAllowedEnglishValueMatches — passed, 13 cultures, 5 keys, no English-value exceptions.
  • pwsh -NoProfile -File eng/pipelines/onebranch/scripts/validate-localization.ps1 -ResourcesDirectory src/Microsoft.Data.SqlClient/src/Resources -AllowlistPath .config/LocalizationValidationAllowlist.json — failed with 13 pre-existing findings: ADP_IsolationLevelResetTimeout is untranslated in all 13 cultures.
    • Verified the same 13 failures using the original validator, resources and allowlist in the untouched main worktree at 332e17fe76c8fe7c5ed0de0e77835ca8223f7c7d.
    • No unrelated translations were changed and the existing gate was not weakened.
  • git diff --check — passed.

Official pipeline execution was not triggered.

Guidelines

Please review the contribution guidelines before submitting a pull request:

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 9, 2026 18:24
@paulmedynski
paulmedynski added this pull request to stack #4822 October 9, 2026 18:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The parameterization is correctly wired, preserves existing behavior, and has focused regression coverage.

0 open findings

What changed in this PR

Adds reusable localization validation for Abstractions while preserving existing SqlClient validation.

Changes:

  • Parameterizes resource paths and allowlist sections.
  • Adds Abstractions validation and an independent allowlist.
  • Adds Pester coverage for selection and pipeline wiring.
File Description
validate-localization-step.yml Accepts explicit validation inputs.
validate-localization.ps1 Selects the requested allowlist section.
validate-localization.Tests.ps1 Tests section selection and rejection.
pipeline-invocation.Tests.ps1 Verifies template contracts and wiring.
build-buildproj-job.yml Enables Abstractions validation.
onebranch-pipeline-design.instructions.md Documents both validation gates.
LocalizationValidationAllowlist.json Adds the Abstractions allowlist section.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

This branch has not been deployed

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

Labels

None yet

Projects

Status: To triage

Development

Successfully merging this pull request may close these issues.

2 participants