Repository navigation
AOT 5: Validate localized authentication resources in Abstractions builds - #4942
paulmedynski wants to merge 2 commits into
Conversation
Include explicit resource-directory inputs, isolated allowlist selection, and all three behavioral tests in this layer; retain existing validation policy. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The new validation gate rejects eight missing neutral-resource keys in all 13 Abstractions satellite files, blocking official and default non-official builds before compilation.
1 open issue
What changed in this PR
Extends OneBranch localization validation to Abstractions-owned authentication resources, following their move from the driver in #4852. This supports the broader authentication AOT work without changing runtime behavior.
Changes:
- Parameterizes resource directories and allowlist sections while preserving the driver’s script default.
- Adds the Abstractions pre-build gate with an independent allowlist and existing validation controls.
- Adds section-isolation tests and documents per-assembly validation.
| File | Description |
|---|---|
eng/pipelines/onebranch/steps/validate-localization-step.yml |
Accepts explicit resource-directory and allowlist-section parameters. |
eng/pipelines/onebranch/scripts/validate-localization.ps1 |
Selects the requested allowlist section, defaulting to the driver’s. |
eng/pipelines/onebranch/scripts/tests/validate-localization.Tests.ps1 |
Tests section selection, missing sections, and exception isolation. |
eng/pipelines/onebranch/jobs/build-buildproj-job.yml |
Adds Abstractions validation and explicit driver settings. |
BUILDGUIDE.md |
Documents localization gates and validation behavior. |
.github/instructions/onebranch-pipeline-design.instructions.md |
Updates guidance for both resource-owning assemblies. |
.config/LocalizationValidationAllowlist.json |
Adds an independent, empty Abstractions allowlist. |
Review effort: Balanced
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev/automation/aot-authentication-localization #4942 +/- ##
==================================================================================
- Coverage 67.23% 66.39% -0.84%
==================================================================================
Files 317 304 -13
Lines 70236 67961 -2275
==================================================================================
- Hits 47222 45126 -2096
+ Misses 23014 22835 -179
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
The Azure Artifacts authentication change still needs a successful OneBranch restore using the job identity, and the localization gate blocks official builds until translations arrive.
No open issues 🎉
1 resolved since last review
Review effort: Balanced
|
Looks good overall! Note: I would not call this AOT or use this term in this PR to avoid confusions btw, since its unrelated to AOT support. Therefore, this is not a blocker for 8.0.0-preview1 release. Two additional optional review suggestions:
|

Description
Validate Abstractions' localized authentication resources in the build pipeline. Authenticate NuGet feeds before building PackageValidator so its restore can use the build identity's Azure Artifacts credentials. No public API or runtime behavior changes.
Why?
Authentication resources need the same localization checks as driver resources, with independent exception lists so an allowance for one assembly cannot hide a problem in another.
How
NuGetAuthenticate@1immediately beforeBuildPackageValidatorin the shared package-validation step.Issues
Part of #4193.
Testing