Skip to content

[main] Update dependencies from dotnet/arcade, dotnet/arcade-services, dotnet/dnceng#16752

Open
dotnet-maestro[bot] wants to merge 6 commits intomainfrom
darc-main-6b831d91-0b6f-4507-89b4-d356e575ac68
Open

[main] Update dependencies from dotnet/arcade, dotnet/arcade-services, dotnet/dnceng#16752
dotnet-maestro[bot] wants to merge 6 commits intomainfrom
darc-main-6b831d91-0b6f-4507-89b4-d356e575ac68

Conversation

@dotnet-maestro
Copy link
Copy Markdown
Contributor

@dotnet-maestro dotnet-maestro Bot commented Apr 24, 2026

This pull request updates the following dependencies

From https://github.com/dotnet/arcade

From https://github.com/dotnet/arcade-services

From https://github.com/dotnet/dnceng

…422.1

On relative base path root
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.26211.1 -> To Version 11.0.0-beta.26222.1
@ViktorHofer
Copy link
Copy Markdown
Member

cc @agocke & @Youssef1313

@mmitche
Copy link
Copy Markdown
Member

mmitche commented Apr 24, 2026

I saw this in arcarde-validation yesterday. The agent decided to fix it like:

dotnet/arcade-validation@0dd07f0

Let me know if this is not the right fix here.

@Youssef1313
Copy link
Copy Markdown
Member

The problem here is likely introduced by #16734 and #16754 sounds like the right fix. However, I have few doubts about #16734:

  • For xunit 2, I'm not sure if using the xunit.v3 assert package can cause issues.
    • Is it well supported by xunit? (cc @bradwilson)
    • Is it going to break any repos? For example, if a repo was explicitly adding the PackageReference to the xunit 2 assert package, they might break. However, this is likely "fixable" on consuming repos. Still, it's a potential break.
    • The API surface might be different, or even some behaviors/features might be different. So this feels aggressive and might break repos?
  • For xunit 3, the concern about the API surface, behavior, or feature differences between xunit.v3.assert and xunit.v3.assert.aot still applies.

@bradwilson
Copy link
Copy Markdown

Is it well supported by xunit?

While v2 and v3 were both being co-released, the source was the same (it comes from a Git submodule that was shared with both projects). The only assertion at that time that was in v3 that would not "work" in v2 were the dynamic skips, since that requires engine cooperation. (Calling Assert.Skip under v2 would've just failed the test, since it throws SkipException.) So this API for certain would be "problematic", though very obvious to see.

We previously "enabled" Assert.Skip via <DefineConstants>XUNIT_SKIP</DefineConstants> but we've since moved on in the repo to only support v3 via source (anybody who wants v2 via source has to stick to a tag/branch and not use main), but again, the worst thing that happens is a test which someone wanted skipped actually becomes failed, which should be easily noticable.

I'm not aware of anything else that would behave incorrectly if you used the v3 assertions with v2.

Is it going to break any repos? For example, if a repo was explicitly adding the PackageReference to the xunit 2 assert package, they might break.

They would definitely break without some intervention, since both would define Xunit.Assert and there would be naming collisions.

If the intention is to support v2, then using the v2 assertion library is the correct answer. Arbitrarily pulling the v3 assertion library really isn't a reusable strategy. It's fine for an end consumer who knows what they're doing, but definitely not something you'd want to propagate. Your consumers would need to know to bring in xunit.core + xunit.v3.assert instead of xunit to prevent the doubled up assertion problem.

For xunit 3, the concern about the API surface, behavior, or feature differences between xunit.v3.assert and xunit.v3.assert.aot still applies.

Yes, they're definitely quite different. Assert.Equivalent goes away entirely, and the compile-time API surface changes a decent amount (though I obviously tried to do my best to ensure things just recompiled fine).

…424.2

On relative base path root
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.26211.1 -> To Version 11.0.0-beta.26224.2
…425.1

On relative base path root
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.26211.1 -> To Version 11.0.0-beta.26225.1
…ild 20260422.1

On relative base path root
Microsoft.DotNet.DarcLib , Microsoft.DotNet.ProductConstructionService.Client From Version 1.1.0-beta.26214.2 -> To Version 1.1.0-beta.26222.1
@dotnet-maestro dotnet-maestro Bot changed the title [main] Update dependencies from dotnet/arcade [main] Update dependencies from dotnet/arcade, dotnet/arcade-services Apr 27, 2026
…423.1

On relative base path root
Microsoft.DncEng.SecretManager From Version 1.1.0-beta.26216.2 -> To Version 1.1.0-beta.26223.1
@dotnet-maestro dotnet-maestro Bot changed the title [main] Update dependencies from dotnet/arcade, dotnet/arcade-services [main] Update dependencies from dotnet/arcade, dotnet/arcade-services, dotnet/dnceng Apr 27, 2026
@ViktorHofer
Copy link
Copy Markdown
Member

Thanks @bradwilson for sharing your expertise. @Youssef1313 / @agocke please prioritize unblocking this PR. We need to get it in for some future work in arcade.

@Youssef1313
Copy link
Copy Markdown
Member

I personally would lean towards reverting #16734 for now, and discuss it to consider a balanced way to move forward.

I would need to understand who are the current consumers of AOT assertions? Is it solely runtime? Are these projects that need AOT assertions on xunit.v3 already?

If all AOT consumers we care about are xunit.v3, then my suggestion would be:

@Youssef1313
Copy link
Copy Markdown
Member

#16763 might be a good balance (and doesn't involve a complete revert of #16734)

@ViktorHofer
Copy link
Copy Markdown
Member

I would need to understand who are the current consumers of AOT assertions? Is it solely runtime?

Yes, from what I know that's just dotnet/runtime. Andy introduced that forked project for AOT tests there.

@mmitche
Copy link
Copy Markdown
Member

mmitche commented Apr 27, 2026

This is currently blocking the 10.0.8 build from publishing (need the update here for channel publishing)

…427.3

On relative base path root
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.26211.1 -> To Version 11.0.0-beta.26227.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants