Feature/redis async factory - #2483
Closed
maikebing wants to merge 168 commits into
Closed
Conversation
…s all health check projects and add outdated packages JSON file.
- Changed the .NET SDK version from 9.0.x to 10.0.x in multiple GitHub Actions workflows for health checks. - Updated Directory.Packages.props to support .NET 10.0. - Modified target frameworks in various HealthChecks.UI projects to use $(DefaultNetCoreTargetFrameworks). - Removed unnecessary PackageReference for Microsoft.Extensions.Diagnostics.HealthChecks in HealthChecks.Prometheus.Metrics and HealthChecks.Publisher.Prometheus projects. - Adjusted FunctionalTests project to exclude HealthChecks.UI files and updated package references. - Enhanced nullability annotations in HttpClientExtensions and HostBuilderHelper classes.
- Create a new workflow `nuget_release_on_version_tag.yml` that triggers on version tag pushes. - Validate semantic versioning for tags and resolve the previous version tag. - Detect changed packages and determine which ones need to be built and published. - Implement a matrix strategy to publish packages based on detected changes. - Ensure proper permissions for accessing contents and writing packages.
… logic - Added permissions for contents and packages in multiple CI workflows. - Changed tags-ignore to tags for versioning in CI workflows. - Inherited secrets in reusable CI workflow calls. - Introduced a new script `get-release-scope.ps1` to determine release scope based on tags and project references. - Enhanced reusable CI workflow to handle versioning and package publishing. - Created a reusable UI CD workflow for HealthChecks UI projects. - Updated HealthChecks Solr CI workflow to include release scope determination and conditional publishing.
…lthChecks.* Agent-Logs-Url: https://github.com/AspireHealthChecks/Aspire.HealthChecks/sessions/c94b3550-a8d7-4cee-bf3c-e6c503329e97 Co-authored-by: maikebing <3445167+maikebing@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AspireHealthChecks/Aspire.HealthChecks/sessions/8f8488aa-f451-4874-9d16-97447d97f43e Co-authored-by: maikebing <3445167+maikebing@users.noreply.github.com>
…rectory.Build.props Agent-Logs-Url: https://github.com/AspireHealthChecks/Aspire.HealthChecks/sessions/8f8488aa-f451-4874-9d16-97447d97f43e Co-authored-by: maikebing <3445167+maikebing@users.noreply.github.com>
…hecks Agent-Logs-Url: https://github.com/DotNetDiag/HealthChecks/sessions/fa5df03c-f5b2-451b-9328-3dd8e950b461 Co-authored-by: maikebing <3445167+maikebing@users.noreply.github.com>
Agent-Logs-Url: https://github.com/DotNetDiag/HealthChecks/sessions/9e326fbc-024c-4092-9ada-90949e9e9f71 Co-authored-by: maikebing <3445167+maikebing@users.noreply.github.com>
…althChecks.UI/npm_and_yarn-31fdac4bcf build(deps): bump the npm_and_yarn group across 1 directory with 6 updates
…for assembly reference
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6 to 7. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v6...v7) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…cov/codecov-action-7
…ons/checkout-7
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2483 +/- ##
==========================================
- Coverage 66.88% 62.29% -4.60%
==========================================
Files 268 284 +16
Lines 8730 10072 +1342
Branches 631 737 +106
==========================================
+ Hits 5839 6274 +435
- Misses 2723 3568 +845
- Partials 168 230 +62
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:
|
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.
This PR originates from the proposal in [DotNetDiag/HealthChecks#37](DotNetDiag#37). The issue describes scenarios where Redis credentials, connection strings, or the
IConnectionMultiplexerare only available after asynchronous initialization.The new overload defers factory execution until the health check runs, forwards the health check cancellation token, and handles cancellation as a timeout result. Applications can resolve credentials or connection strings inside the factory while retaining ownership of a shared
IConnectionMultiplexer.The implementation is based on the useful part of upstream [Xabaril PR #2305](#2305), but does not copy its delegate-keyed connection cache behavior. Existing string-based Redis connection caching remains unchanged.
Which issue(s) this PR fixes:
Closes #37
Special notes for your reviewer:
CancellationTokenis passed to the factory.Healthcheck timed outresult.Does this PR introduce a user-facing change?:
Yes. It introduces a new
AddRedisoverload for asynchronousIConnectionMultiplexerfactories.Please make sure you've completed the relevant tasks for this PR, out of the following list: