Skip to content

Conversation

@adamint
Copy link
Member

@adamint adamint commented Apr 15, 2025

Backport of #8771 to release/9.2

Customer Impact
This PR changes the dashboard trace detail data provider to replace an unordered data structure with an ordered one w/comparer to ensure that span ordering by time is preserved.

Testing
A unit test has been added and a diff is included in the original PR if manual testing is desired as well.

Risk
This is a small, isolated, tested change where the root cause is well understood.

Regression?
Yes

davidfowl and others added 30 commits April 2, 2025 10:25
…swords with emulator (dotnet#8406)

* Follow up keyvault changes
- Pass the IKeyVaultSecretReference to the SecretResolver
- Don't add the default keyvault when using the emulator.

* Add the KeyVault resource, but remove it from the model in BeforeStart if the Azure resource is emulated or container in run mode.

* Respond to PR feedback

Fix dotnet#8364
---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
dotnet/roslyn#76641 is now fixed. This no longer is necessary.
…net#8508)

* [tests] Quarantine additional tests for issues open against them

These tests have issues open for them, but tests aren't marked with
QuarantinedTest attribute.

* Quarantine Aspire.Hosting.Tests.WithHttpCommandTests.WithHttpCommand_ResultsInExpectedResultForHttpMethod

* Update tests/Aspire.Hosting.Azure.Tests/AzureCosmosDBEmulatorFunctionalTests.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Tweak tracing code.

* aspire new with prompting.

* Template selection.
Using the Azure prefix, as we do this everywhere else.

Contributes to dotnet#7811
…m public API (dotnet#8529)

These properties may change over time or be moved in the future. We don't want to expose them just yet. Will expose later if they need to be public.

Contributes to dotnet#7811
…#8526)

This will also cause Playwright to be correctly installed for Dashboard
tests.

Fixes dotnet#8496
* Improve path prompt for aspire new command.

* Turn project option into argument on aspire run.

* Fix up message.
* Adding descriptions to all args/options in CLI.

* Revert project arg to option.

* PR feedback.

* Rename resource to integration.

* Update src/Aspire.Cli/Commands/RunCommand.cs

Co-authored-by: David Fowler <davidfowl@gmail.com>

---------

Co-authored-by: David Fowler <davidfowl@gmail.com>
* Make publishers prompt async for faster cancellation.

* Make AppHost crash if no backchannel is attached and publishing fails.

* Switch LogError to LogDebug (whoops)

* Return correct result from TryGetContainerImageName in compose publisher. Add Dockerfile resource to playground for verification.

* Improves publisher failure UX.

* Update src/Aspire.Cli/Commands/PublishCommand.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* [tests] Re-enable Aspire.Hosting.Testing.Tests.TestingFactoryTests.HttpClientGetTest

* Quarantine Aspire.Dashboard.Components.Tests.Pages.TraceDetailsTests.Render_ChangeTrace_RowsRendered

Issue: dotnet#8546

* fix build
…database connections (dotnet#8524)

This pull request includes significant changes to the Aspire.Hosting.Redis library, focusing on simplifying the WithRedisInsight method, updating the RedisInsight image tag, and improving test coverage. The most important changes are grouped into codebase simplification, image tag updates, and test improvements.

Updated the RedisInsight image tag from `2.66` to `2.68`.

* Change Redis Insights to use environments variable for preconfigure database connections

* Remove no need tests

* revert playground app

* Fix test

* Remove unused class

* Add test

* Address Copilot feedback

* Add resilience pipline to test

* Address PR feedback

* Wait for Running state in tests

* Set permissions for bind mount

* Address PR feedback.

- Remove IsAllocated check
- Minor code clean up.

Fixes dotnet#8506
Fixes dotnet#7291
Fixes dotnet#6099
Fixes dotnet#7176

---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
…otnet#8557)

* Switch to null as default for owner and group in WithContainerFiles

* Fix failing test

* Update doc comment

* Call out that 0 is root
…net#8507)

Few refactoring changes to AzurePublisher to enable usage in downstream publishers:

Refactor the logic in AzurePublisher to a new public AzurePublishingContext class.
refactor code in AzurePublisher.PublishAsync to AzurePublishingContext and capture bicep compilation data that is thrown away in the existing AzurePublisher.PublishAsync method

* Restructure AzurePublisher and add AzurePublishingContext

* Few more edits and add an playgroud app for AzurePublisher

* Move SaveToDisk to Publisher

* Edit Playground aspire starter app to use AspireProjectOrPackageReference and call AddAzurePublisher

* Remove AzurePublisher playground app

* Refactor AzurePublishingContext to be public.

* Fix up .sln file

---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
* PublishingActivityReporter fixes

* Introduce lock around status updates.

* Lock on status updates.

* Clean out unnecessary files from PR.

* Extra file to remove.

* Remove debugging code.
…404.5 (dotnet#8579)

[main] Update dependencies from dotnet/arcade
It slightly bugged me that the document is called `using-latest-daily`, yet the document refers to `nightly` in the contents.
* Add RPC protocol compat check.

* Fix merge conflict.

* Fix spelling.

* Update DotNetCliRunner.cs

Co-authored-by: David Fowler <davidfowl@gmail.com>

* Improve error message with version info.

---------

Co-authored-by: David Fowler <davidfowl@gmail.com>
Build.cmd failed to return an actual exit code from eng/build.ps1,
which resulted in CI steps reported as "passed" despite errors
during the execution.
* mysql test timeouts

* 'dispose'

* cleaner
adamint and others added 22 commits April 9, 2025 17:30
Co-authored-by: joperezr <joperezr@users.noreply.github.com>
…build 0.13.0 (dotnet#8701)

[main] Update dependencies from microsoft/usvc-apiserver
* WIP

* Spelling

* Replace all Spectre console Status() calls with interaction utils (decoupling).
1. Take build agent OS in account when running tests
Addresses dotnet#8498 (comment)

2. Read trx from correct location
Resolves dotnet#8683
Use the Arcade SDK capabilities to provide a custom test runner
(see in eng/QuarantinedTestRunsheetBuilder) to intercept test execution
to pretend to run tests. Instead, only query test assemblies whether those
contain quarantined tests by running `dotnet test --list-tests`.
Then inspect the output, and if a test project contains quarantined tests
include the test project into a runsheet.

The runsheet generation itself is a two step process.

1. The first step is performed by each project during RunTests target
execution (in QuarantinedTestRunsheetBuilder) and it
results in project-specific runsheets being generated.
E.g., Aspire.Cli.Tests_net8.0_x64.linux.runsheet.json.

2. After all test projects have been inspected, all the individual runsheets
are aggregated into a single runsheet, which is then used as a matrix
by GHA workflow.
This is happening in eng/AfterSolutionBuild.targets.
Merging branch release/9.2 into main
* Custom URLs improvements

- Control whether URL is visible on resources page or not
- Add helper method to get resource endpoint from ResourceUrlsCallbackContext
- Support relative URLs for endpoints
- Add overload of WithUrlForEndpoint for adding extra endpoint URLs

Fixes dotnet#8725, dotnet#8636, dotnet#8640, dotnet#8638, dotnet#6454

* Update tests

* Fix test name

* Always handle relative endpoint URLs

* Use enum for URL display location
* [tests] Use ActiveIssue for Hosting.NodeJs.Tests

These tests work as expected except on azdo build machines, or helix
where node/npm is not installed. So, instead of Quarantining these tests
use `ActiveIssue` to specifically disable them on Azdo.

* [tests] Use ActiveIssue for OracleFunctionalTests

According to the issue these tests are not flaky, so use `ActiveIssue`.

Issue: dotnet#4508

* Quarantine Aspire.Hosting.Tests.DistributedApplicationTests.ProxylessEndpointWorks
* Move more stuff into centralized helper class.

* Fix URLs.

* interaction service and certificate service

* WIP

* WIP

* Working happy path test.

* Rename test.

* Extra test

* Add more tests to cover prompting for aspire new command.

* Always include interaction namespace.

* PR feedback.
- Moved token credential resolution out of the AzureProvisioner so it can shared.
- Configure the secret resolving in both configure and provision cases.
* URL fixes

- Show "-" for URLs with no display text & disable visualizer & disable visualizer when URL has no display text (Fixes dotnet#8745)
- Show non-HTTP endpoints on Resources Graph (Fixes dotnet#8682)

* PR feedback

* Update ResourceDetails.razor
* Make IPublishingActivityProgressReporter mockable

Also add a Null reporter to easily use in tests.

* Add test

* Add instance singleton

* fixup test
…net#8688)

That is, allow running the following
    .\build.cmd -test -projects .\tests\Aspire.Cli.Tests\Aspire.Cli.Tests.csproj

...instead of requiring /p:GITHUB_ACTIONS=true or /p:SYSTEM_TEAMPROJECT=foo
to indicate the test is run in GHA or AzDO.
* Improve flaky Render_ChangeTrace_RowsRendered test

* Update
…t#8762)

* Update console logs rendering to skip default background color

* Update

* Fix tests
@adamint adamint closed this Apr 15, 2025
@github-actions github-actions bot locked and limited conversation to collaborators May 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.