Restore independent PR pipeline + pool-aware MI identity + net462/472 unit tests - #3935
Merged
Iarek Kovtunenko (iarekk) merged 2 commits intoJul 13, 2026
Merged
Conversation
Gladwin Johnson (gladjohn)
approved these changes
Jul 9, 2026
Contributor
|
BLOCKING MERGE |
Iarek Kovtunenko (iarekk)
force-pushed
the
iarekk/ado-net-framework-unit-tests
branch
from
July 10, 2026 13:27
24c9053 to
cad4c43
Compare
Restores the 4-stage PR pipeline and extra unit-test coverage from #3933/#3934 (reverted in #3936), with two fixes so the managed-identity E2E test runs on every pool that consumes these tests: - TokenAcquirer MI test now reads the UAMI client id from IDWEB_MI_UAMI_CLIENTID, falling back to the Msal_Integration_tests identity (45344e7d) assigned to the Wilson pool used by the id4s-official pipeline. That pipeline needs no changes. - template-run-managed-identity-e2e-tests.yaml sets IDWEB_MI_UAMI_CLIENTID to the msiv2uami identity (6325cd32) assigned to the MSALMSIV2 pool, so the Id.Web PR pipeline and IdWeb OneBranch official MI job use it. Also re-adds the net472 dotnet test step that VSTest@2 cannot discover on hosted agents. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Iarek Kovtunenko (iarekk)
force-pushed
the
iarekk/ado-net-framework-unit-tests
branch
from
July 10, 2026 15:20
cad4c43 to
21422b3
Compare
Iarek Kovtunenko (iarekk)
requested review from
Bogdan Gavril (bgavrilMS) and
Gladwin Johnson (gladjohn)
July 10, 2026 15:44
Gladwin Johnson (gladjohn)
approved these changes
Jul 10, 2026
Iarek Kovtunenko (iarekk)
deleted the
iarekk/ado-net-framework-unit-tests
branch
July 13, 2026 09:28
Iarek Kovtunenko (iarekk)
added a commit
that referenced
this pull request
Jul 13, 2026
The ADO PR pipeline now runs the full unit test matrix (incl. net462/472) after #3935, making the dotnetcore.yml GitHub Action redundant. Remove it and rely on the ADO check for PR validation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Jul 17, 2026
Merged
Closed
Closed
Closed
This was referenced Jul 30, 2026
Merged
Merged
Open
Open
Closed
Open
James Gunn (gunndabad)
added a commit
to DFE-Digital/teaching-record-system
that referenced
this pull request
Aug 6, 2026
…nIdConnect (#3696) Updated [Microsoft.Identity.Web](https://github.com/AzureAD/microsoft-identity-web) from 4.12.2 to 4.14.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Identity.Web's releases](https://github.com/AzureAD/microsoft-identity-web/releases)._ ## 4.14.2 ### Dependencies updates - Bump the `Microsoft.IdentityModel.*` (Wilson) version to 8.22.0. See [#3986](AzureAD/microsoft-identity-web#3986). - Fix the net8.0 crypto floor to use the patched `System.Security.Cryptography.Xml` 8.0.4 (and its `System.Security.Cryptography.Pkcs` 8.0.1 dependency) instead of over-bumping to the 9.0.18 servicing line (CVE-2026-47302, -47304, -50525, -50648). net9.0 (9.0.18) and net10.0 (10.0.10) are unchanged. See [#3989](AzureAD/microsoft-identity-web#3989). ## 4.14.0 ## New features - Add `MicrosoftIdentityOptions.PartitionAppTokenCacheByAudience` to partition the app token cache by resource/audience. See #3979. - Expose MSAL's background token-refresh callback through Id.Web via `TokenAcquisitionExtensionOptions.OnBackgroundTokenRefreshCompleted`. See #3973. - Add `MicrosoftIdentityOptions.UseFastUnboundedCache`; stop short-circuiting the in-memory token cache serialization provider. See #3970. - OIDC FIC (`Microsoft.Identity.Web.OidcFIC`) now supports mTLS token binding. See #3851. ## Bug fixes - Token binding: the CCA cache key now distinguishes a bound credential (`UseBoundCredential = true`) from its unbound equivalent; the certificate-error retry path invalidates the cache entry for the actual request mode (bearer vs mTLS PoP). - Forward the OpenTelemetry tags enricher onto the inner FIC client-assertion leg. See #3968. ## Dependencies updates - `Microsoft.Identity.Client` → 4.87.0 (#3975) - `Microsoft.Identity.Abstractions` → 12.6.0 (#3976) - `System.Security.Cryptography.Xml` / `System.Security.Cryptography.Pkcs` → patched (CVE-2026-47302, -47304, -50525, -50648) (#3964) - notsecurity group: 1 update (#3965) **Full changelog**: AzureAD/microsoft-identity-web@4.13.2...4.14.0 ## 4.13.2 ## What's Changed * Apply reserved-header handling on the request-clone path and cover all X-MS-TOKEN- headers by @iNinja in AzureAD/microsoft-identity-web#3915 * Restore independent PR pipeline + pool-aware MI identity + net462/472 unit tests by @iarekk in AzureAD/microsoft-identity-web#3935 * Post-release 4.13.0: changelog and public API shipped move by @neha-bhargava in AzureAD/microsoft-identity-web#3937 * Remove redundant 'Run unit tests' GitHub Action by @iarekk in AzureAD/microsoft-identity-web#3939 * Apply consistent redirect-URI validation on AccountController.SignIn by @iNinja in AzureAD/microsoft-identity-web#3940 * Fix duplicate logging of MsalUiRequiredException (in-repo copy of #3910) by @iarekk in AzureAD/microsoft-identity-web#3941 * Use MSAL's recent UserFIC API for agentic flows by @Avery-Dunn in AzureAD/microsoft-identity-web#3842 * Restore CustomizeHttpRequestMessage to run after the authorization header by @neha-bhargava in AzureAD/microsoft-identity-web#3943 * Bump Microsoft.IdentityModel.Tokens.Saml from 5.7.0 to 8.19.1 by @dependabot[bot] in AzureAD/microsoft-identity-web#3909 * Revert #3909: keep OWIN Saml/WsFederation on 5.7.0 by @iarekk in AzureAD/microsoft-identity-web#3944 * Bump Microsoft.Identity.Abstractions from 12.4.0 to 12.5.0 by @neha-bhargava in AzureAD/microsoft-identity-web#3947 * Add OnBeforeAuthHeaderCreation / OnAfterAuthHeaderCreation hooks to DownstreamApi by @neha-bhargava in AzureAD/microsoft-identity-web#3942 * Update IdentityModelV5Version and SamlPackageVersion to 5.7.1 in proj… by @trwalke in AzureAD/microsoft-identity-web#3950 * Rename retired MSALMSIV2 agent pool to MISEManagedIdentity by @gladjohn with @Copilot in AzureAD/microsoft-identity-web#3949 * Improve IDW10109 error handling for credential loading failures by @Avery-Dunn in AzureAD/microsoft-identity-web#3946 * Bump MSAL dependencies to 4.86.1 in central props by @gladjohn with @Copilot in AzureAD/microsoft-identity-web#3953 * Bump the notsecurity group with 3 updates by @dependabot[bot] in AzureAD/microsoft-identity-web#3954 **Full Changelog**: AzureAD/microsoft-identity-web@4.13.0...4.13.2 ## 4.13.0 ## What's Changed * Categorize managed-identity E2E tests and exclude them from the PR build by @iarekk in AzureAD/microsoft-identity-web#3923 * Add more tests for TokenAcquisitionMetadata.ExpiresOn from AuthenticationResult by @neha-bhargava in AzureAD/microsoft-identity-web#3904 * Test: consolidate MI E2E test onto shared Msal_Integration_tests UAMI by @RyAuld in AzureAD/microsoft-identity-web#3926 * docs: Credential architecture internals documentation by @gladjohn in AzureAD/microsoft-identity-web#3886 * Potential fix for code scanning alert no. 35: Missing cross-site request forgery token validation by @gladjohn in AzureAD/microsoft-identity-web#3929 * Register IAuthorizationHeaderProvider2 in DI by @neha-bhargava in AzureAD/microsoft-identity-web#3927 * Bump Microsoft.Identity.Client to 4.86.0 by @neha-bhargava in AzureAD/microsoft-identity-web#3931 * Split PR pipeline into independent net8 stages; add MI E2E stage on MSALMSIV2 by @iarekk in AzureAD/microsoft-identity-web#3933 * Run missing unit test projects in the ADO PR build by @iarekk in AzureAD/microsoft-identity-web#3934 * Revert PRs #3933 and #3934: restore single-job PR pipeline by @gladjohn with @Copilot in AzureAD/microsoft-identity-web#3936 **Full Changelog**: AzureAD/microsoft-identity-web@4.12.2...4.13.0 Commits viewable in [compare view](AzureAD/microsoft-identity-web@4.12.2...4.14.2). </details> Updated [Microsoft.IdentityModel.Protocols.OpenIdConnect](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 8.19.2 to 8.22.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.IdentityModel.Protocols.OpenIdConnect's releases](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases)._ ## 8.22.0 ## What's Changed * Promote exception to property, add test by @westin-m in AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3486 * Add IgnoreCaseWhenValidatingAudience flag to audience validation by @cpp11nullptr in AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3563 **Full Changelog**: AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet@8.21.0...8.22.0 ## 8.21.0 ## Performance Improvements - Add JsonWebToken header-replacement path to avoid re-parsing payload. See [PR #3553](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3553). - Add claims dictionary preallocation. See [PR #3550](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3550). ## Bug Fixes - Fix CI build failures: remove unused log message and add missing DPoP API entries. See [PR #3551](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3551). Commits viewable in [compare view](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet@8.19.2...8.22.0). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: James Gunn <james@gunn.io>
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.
Re-lands the pipeline work reverted in #3936 (#3933 + #3934), plus fixes the managed-identity (MI) E2E identity so the test passes on every pipeline that runs it.
1. Restore reverted work
MSALMSIV2pool.2. Pool-aware MI identity (the reason for the revert)
The MI E2E test hardcoded a UAMI client id. Each build pool has a different identity assigned, so a single constant can't work everywhere — the DevEx
id4s-officialpipeline (Wilson pool) failed with "Identity not found" when master carried themsiv2uamiid.Fix: the test reads the id from
IDWEB_MI_UAMI_CLIENTIDand falls back to the Wilson-pool identity:45344e7d(Msal_Integration_tests, Wilson pool) →id4s-officialneeds no changes.6325cd32(msiv2uami,MSALMSIV2pool), set intemplate-run-managed-identity-e2e-tests.yaml→ used by the Id.Web PR MI stage and the IdWeb OneBranch official MI job (both consume that template).3. .NET Framework unit tests
VSTest@2 can't discover the net462/net472 xUnit tests on hosted agents, so add
dotnet test -f net472steps mirroring the GitHub Action. Not running net462