Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add .NET 9 in tests projects #2313

Merged
merged 32 commits into from
Nov 14, 2024
Merged

Conversation

xiang17
Copy link
Contributor

@xiang17 xiang17 commented Nov 12, 2024

Towards #2319.

Changes

Add .NET 9 target framework in tests for all libraries except for OpenTelemetry.Instrumentation.StackExchangeRedis.Tests and OpenTelemetry.Resources.AWS.Tests because the tests are failing. SupportedNetTargetsWithoutNet9 is added for them..

Merge requirement checklist

  • CONTRIBUTING guidelines followed (license requirements, nullable enabled, static analysis, etc.)
  • Unit tests added/updated
  • [ ] Appropriate CHANGELOG.md files updated for non-trivial changes: only updated tests.
  • [ ] Changes in public API reviewed (if applicable)

@github-actions github-actions bot requested a review from twenzel November 12, 2024 00:22
@github-actions github-actions bot added infra Infra work - CI/CD, code coverage, linters comp:instrumentation.aspnetcore Things related to OpenTelemetry.Instrumentation.AspNetCore comp:instrumentation.process Things related to OpenTelemetry.Instrumentation.Process comp:instrumentation.runtime Things related to OpenTelemetry.Instrumentation.Runtime labels Nov 12, 2024
Copy link

codecov bot commented Nov 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.20%. Comparing base (71655ce) to head (34e9974).
Report is 597 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2313      +/-   ##
==========================================
- Coverage   73.91%   69.20%   -4.72%     
==========================================
  Files         267      368     +101     
  Lines        9615    13528    +3913     
==========================================
+ Hits         7107     9362    +2255     
- Misses       2508     4166    +1658     
Flag Coverage Δ
unittests-Contrib.Shared.Tests 77.13% <ø> (?)
unittests-Exporter.Geneva 47.70% <ø> (?)
unittests-Exporter.InfluxDB 95.14% <ø> (?)
unittests-Exporter.Instana 74.86% <ø> (?)
unittests-Exporter.OneCollector 94.51% <ø> (?)
unittests-Exporter.Stackdriver 79.26% <ø> (?)
unittests-Extensions 88.63% <ø> (?)
unittests-Extensions.Enrichment 100.00% <ø> (?)
unittests-Instrumentation.AWS 86.38% <ø> (?)
unittests-Instrumentation.AspNet 77.00% <ø> (?)
unittests-Instrumentation.AspNetCore 70.33% <ø> (?)
unittests-Instrumentation.ConfluentKafka 14.37% <ø> (?)
unittests-Instrumentation.ElasticsearchClient 80.12% <ø> (?)
unittests-Instrumentation.EntityFrameworkCore 57.06% <ø> (?)
unittests-Instrumentation.EventCounters 76.36% <ø> (?)
unittests-Instrumentation.GrpcCore 91.42% <ø> (?)
unittests-Instrumentation.GrpcNetClient 79.61% <ø> (?)
unittests-Instrumentation.Hangfire 93.58% <ø> (?)
unittests-Instrumentation.Http 61.68% <ø> (?)
unittests-Instrumentation.Owin 88.12% <ø> (?)
unittests-Instrumentation.Process 100.00% <ø> (?)
unittests-Instrumentation.Quartz 78.76% <ø> (?)
unittests-Instrumentation.Runtime 98.02% <ø> (?)
unittests-Instrumentation.SqlClient 91.69% <ø> (?)
unittests-Instrumentation.StackExchangeRedis 68.26% <ø> (?)
unittests-Instrumentation.Wcf 78.62% <ø> (?)
unittests-PersistentStorage 65.88% <ø> (?)
unittests-Resources.AWS 78.57% <ø> (?)
unittests-Resources.Azure 84.56% <ø> (?)
unittests-Resources.Container 67.34% <ø> (?)
unittests-Resources.Gcp 71.15% <ø> (?)
unittests-Resources.Host 72.56% <ø> (?)
unittests-Resources.OperatingSystem 76.98% <ø> (?)
unittests-Resources.Process 100.00% <ø> (?)
unittests-Resources.ProcessRuntime 78.26% <ø> (?)
unittests-Sampler.AWS 88.10% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 386 files with indirect coverage changes

@xiang17 xiang17 mentioned this pull request Nov 12, 2024
1 task
…ore.App.Ref with version (= 8.0.11)`. However 8.0.11 was released less than 20 min ago. Maybe the restore step had a delay and didn't get the new version yet?

D:\a\opentelemetry-dotnet-contrib\opentelemetry-dotnet-contrib\src\OpenTelemetry.Exporter.Geneva\OpenTelemetry.Exporter.Geneva.csproj : error NU1102: Unable to find package Microsoft.AspNetCore.App.Ref with version (= 8.0.11)
D:\a\opentelemetry-dotnet-contrib\opentelemetry-dotnet-contrib\src\OpenTelemetry.Exporter.Geneva\OpenTelemetry.Exporter.Geneva.csproj : error NU1102:   - Found 128 version(s) in NuGet [ Nearest version: 9.0.0-preview.1.24081.5 ]
D:\a\opentelemetry-dotnet-contrib\opentelemetry-dotnet-contrib\src\OpenTelemetry.Exporter.Geneva\OpenTelemetry.Exporter.Geneva.csproj : error NU1102:   - Found 0 version(s) in C:\Program Files\dotnet\library-packs
  Failed to restore D:\a\opentelemetry-dotnet-contrib\opentelemetry-dotnet-contrib\src\OpenTelemetry.Exporter.Geneva\OpenTelemetry.Exporter.Geneva.csproj (in 20.62 sec).
…uild-test-exporter-geneva-integration / build-test (ubuntu-24.04, net8.0) runs on Ubuntu 22.04.1 LTS. If not set, the version is newer. For example, build-test-exporter-influxdb / build-test (ubuntu-latest, net8.0) runs on Ubuntu 22.04.5 LTS.
…fail in GitHub CI for now, both for confluentkafka-integration and stackexchangeredis-integration. The current latest SDK in mcr.microsoft.com/dotnet/sdk:9.0 is 9.0.100-rc.2.24474.11, as shown in CI.

I'll revert global.json to use rc.2 for now.
… doesn't have net9.0 targets yet. I'll leave to the component owners to upgrade them.
@github-actions github-actions bot added the comp:instrumentation.grpccore Things related to OpenTelemetry.Instrumentation.GrpcCore label Nov 14, 2024
@github-actions github-actions bot removed the documentation Improvements or additions to documentation label Nov 14, 2024
@github-actions github-actions bot requested review from ppittle and srprash November 14, 2024 00:55
@github-actions github-actions bot added comp:instrumentation.stackexchangeredis Things related to OpenTelemetry.Instrumentation.StackExchangeRedis comp:resources.aws Things related to OpenTelemetry.Resources.AWS labels Nov 14, 2024
@xiang17 xiang17 changed the title Add .NET 9 in tests for AspNetCore, Runtime and Process instrumentation libraries Add .NET 9 in tests projects Nov 14, 2024
Copy link
Contributor

@rajkumar-rangaraj rajkumar-rangaraj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, left a comment to update Microsoft.AspNetCore.Mvc*. RC packages to stable.

@xiang17
Copy link
Contributor Author

xiang17 commented Nov 14, 2024

I wanted to but realized all CHANGELOG.md files are in src folder.

I think the plan is to add net9.0 targets to AspNetCore, Runtime and Process instrumentation libraries projects. Are you planning to cover in new PR?

I think they're not needed. There is a discussion around it since long ago. Here's a recent one: open-telemetry/opentelemetry-dotnet#5832 (comment)

The conclusion is that it's not needed (especially if it's not a LTS). However, sometimes it does bring some benefits. I think we can skip adding new target frameworks to projects unless there is a specific reason to do so.

(This is regarding to projects under src folder. I'm all for adding new targets for all tests.)

@@ -2,7 +2,7 @@

<PropertyGroup>
<!-- OmniSharp/VS Code requires TargetFrameworks to be in descending order for IntelliSense and analysis. -->
<TargetFrameworks>$(SupportedNetTargets)</TargetFrameworks>
<TargetFrameworks>$(SupportedNetTargetsWithoutNet9)</TargetFrameworks>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instrumentaiton.StackExchangeRedis - support .NET9

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They have a lot of failures after adding net9.0. I think it's easier to manage to leave them out of this PR.

@@ -2,7 +2,7 @@

<PropertyGroup>
<!-- OmniSharp/VS Code requires TargetFrameworks to be in descending order for IntelliSense and analysis. -->
<TargetFrameworks>$(SupportedNetTargets)</TargetFrameworks>
<TargetFrameworks>$(SupportedNetTargetsWithoutNet9)</TargetFrameworks>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resources.AWS - support .NET9

Copy link
Contributor

@Kielek Kielek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xiang17, thanks!

I have just fix one thing on your branch. LGTM. Merging.

@Kielek Kielek merged commit 3c6cf48 into open-telemetry:main Nov 14, 2024
208 of 209 checks passed
@xiang17 xiang17 deleted the xiang17/dotnet9Tests branch November 15, 2024 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:exporter.geneva Things related to OpenTelemetry.Exporter.Geneva comp:instrumentation.aspnetcore Things related to OpenTelemetry.Instrumentation.AspNetCore comp:instrumentation.grpccore Things related to OpenTelemetry.Instrumentation.GrpcCore comp:instrumentation.process Things related to OpenTelemetry.Instrumentation.Process comp:instrumentation.runtime Things related to OpenTelemetry.Instrumentation.Runtime comp:instrumentation.stackexchangeredis Things related to OpenTelemetry.Instrumentation.StackExchangeRedis comp:resources.aws Things related to OpenTelemetry.Resources.AWS infra Infra work - CI/CD, code coverage, linters perf Performance related
Projects
None yet
Development

Successfully merging this pull request may close these issues.