mirror of
https://github.com/microsoft/microsoft-ui-xaml.git
synced 2026-10-28 08:25:50 +08:00
Publish localization resources to the OSS dependency feed (#12364)
## Fixes No linked issue. ## PR Type - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no API changes) - [x] Build related changes - [ ] Documentation content changes - [ ] Other (please describe): ## Description Make newly generated localization resource packages available to OSS builds by publishing them to the OSS dependency feed before proposing localization updates. ### Current Behavior The localization pipeline does not publish its generated resource package to the OSS dependency feed. A localization update can therefore reference a package version that OSS builds cannot restore. ### New Behavior Publish the same generated package and version to the shine-oss `WinUI-Dependencies` feed, using the existing cross-organization authentication pattern. Preserve existing publication behavior and stop before proposing localization updates if OSS publication fails. Update the localization documentation to describe dual-feed publishing and its access requirements. ## Customer Impact Enables OSS builds to restore newly published localization resources. This is a build-infrastructure change with no runtime or public API changes. ## Regression Potential - [x] Low risk — isolated change, limited scope - [ ] Medium risk — touches shared components or public APIs - [ ] High risk — architectural or breaking API change The publishing identity must have permission to publish to the OSS dependency feed. Authentication or publication failures will block localization updates rather than propose an unavailable package version. ## How Has This Been Tested? - [x] I have performed a self-review of my own code - [ ] I have added tests to cover my changes - [ ] Existing tests pass locally Local YAML and configuration checks confirm that both publication steps target the same package/version, existing steps remain unchanged, and OSS publication precedes localization updates. Live pipeline publication and OSS restore validation are pending. ## Screenshots (if appropriate) Not applicable; no visual changes. Co-authored-by: Test User <test@example.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83aa42a4-855c-4597-bf2e-e6e9239adbc3
This commit is contained in:
2 files changed
+25
-1
No files matched your search
@@ -99,6 +99,25 @@ steps:
|
||||
packagesToPush: '${{ parameters.nupkgDir }}\Microsoft.Internal.WinUILocalizationResources.${{ parameters.packageVersion }}.nupkg'
|
||||
packageParentPath: '${{ parameters.nupkgDir }}'
|
||||
|
||||
- task: NuGetToolInstaller@1
|
||||
displayName: 'Ensure NuGet is available for shine-oss publishing'
|
||||
|
||||
- task: NuGetAuthenticate@1
|
||||
displayName: 'Authenticate to shine-oss feed'
|
||||
inputs:
|
||||
azureDevOpsServiceConnection: ShineOSS-AzureDevOps-Push
|
||||
feedUrl: https://pkgs.dev.azure.com/shine-oss/microsoft-ui-xaml/_packaging/WinUI-Dependencies/nuget/v3/index.json
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'NuGet-Localization-Resources push to shine-oss WinUI-Dependencies feed'
|
||||
inputs:
|
||||
script: >-
|
||||
nuget.exe push "${{ parameters.nupkgDir }}\Microsoft.Internal.WinUILocalizationResources.${{ parameters.packageVersion }}.nupkg"
|
||||
-Source "https://pkgs.dev.azure.com/shine-oss/microsoft-ui-xaml/_packaging/WinUI-Dependencies/nuget/v3/index.json"
|
||||
-ApiKey AzureArtifacts
|
||||
-NonInteractive
|
||||
-SkipDuplicate
|
||||
|
||||
# Check for changes and create a new branch if required
|
||||
- powershell: |
|
||||
& "$env:Build_SourcesDirectory\build\PipelineScripts\ApplyLocalizationUpdates.ps1" `
|
||||
|
||||
@@ -43,7 +43,9 @@ If you want to manually schedule a pipeline run, use the following steps:
|
||||
No need to run build here.
|
||||
+ Touchdown task takes .mui & .resw files and uploads to Touchdown service
|
||||
+ Touchdown task retrieves currently localized files being stored in Touchdown
|
||||
3. Currently available localized resource files get placed into a nuget package and uploaded to the internal dependency feed.
|
||||
3. Currently available localized resource files get placed into a `Microsoft.Internal.WinUILocalizationResources` NuGet package.
|
||||
The same package version is uploaded to both the internal dependency feed and the shine-oss `WinUI-Dependencies` feed
|
||||
before the pipeline proposes localization updates, so OSS builds can restore the updated version.
|
||||
1. The place holder files without localized data get immediately created with successful run. However, it takes couple of days
|
||||
for Touchdown to localize new strings. Once files are generated, the next localization pipeline run will pick up the changes.
|
||||
4. The pipeline will automatically detect when there are changes to localization files and create a Pull Request titled 'Localization Update YYYYMMDD'.
|
||||
@@ -55,6 +57,9 @@ If you want to manually schedule a pipeline run, use the following steps:
|
||||
is automatically updated in `packages.config` for the `WinUILocalizationResources`
|
||||
package.
|
||||
* Updates to .resw files are checked-in as part of the PR the pipeline opens
|
||||
* Publishing to shine-oss requires the cross-organization service connection to be authorized for the localization pipeline.
|
||||
Its identity must have Feed Publisher (Contributor) permission on `WinUI-Dependencies`.
|
||||
An authentication or publishing failure stops the pipeline before it proposes a package-version update.
|
||||
|
||||
## Responsibility & Requirements
|
||||
|
||||
|
||||
Reference in new issue
Block a user