Skip to content

[Infra] Mark libraries as AOT/trim compatible#7441

Merged
martincostello merged 5 commits into
open-telemetry:mainfrom
baronfel:baronfel/trim-compatible-libraries
Jun 21, 2026
Merged

[Infra] Mark libraries as AOT/trim compatible#7441
martincostello merged 5 commits into
open-telemetry:mainfrom
baronfel:baronfel/trim-compatible-libraries

Conversation

@baronfel

@baronfel baronfel commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

This change fixes the IL3058 analyzer's diagnostic for the OpenTelemetry libraries by enabling IsAotCompatible for production libraries targeting net8.0+.

All of the work for this repo to make it Trim/AOT compatible is already done, but this analyzer (which is triggered by the VerifyReferenceAotCompatibility property being set to true) checks for metadata that is embedded in the assembly when this particular property is enabled.

Set IsAotCompatible=true for production libraries targeting net8.0+ so the trim/AOT/single-file analyzers run and the assemblies are marked trimmable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@baronfel
baronfel requested a review from a team as a code owner June 21, 2026 19:31
@github-actions github-actions Bot added the infra Infra work - CI/CD, code coverage, linters label Jun 21, 2026

@martincostello martincostello left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I thought we'd already done this, but turns out I was thinking of the contrib repo.

Could you add an entry for this to the CHANGELOG files please?

Comment thread build/Common.prod.props Outdated
Address PR feedback: document trim/AOT compatibility in each package CHANGELOG and remove the self-descriptive comment in Common.prod.props.

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

baronfel commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

Added an Unreleased CHANGELOG entry to all 12 packages 👍

@github-actions github-actions Bot added pkg:OpenTelemetry.Api.ProviderBuilderExtensions Issues related to OpenTelemetry.Api.ProviderBuilderExtensions NuGet package pkg:OpenTelemetry.Api Issues related to OpenTelemetry.Api NuGet package pkg:OpenTelemetry.Exporter.Console Issues related to OpenTelemetry.Exporter.Console NuGet package pkg:OpenTelemetry.Exporter.InMemory Issues related to OpenTelemetry.Exporter.InMemory NuGet package pkg:OpenTelemetry.Exporter.OpenTelemetryProtocol Issues related to OpenTelemetry.Exporter.OpenTelemetryProtocol NuGet package pkg:OpenTelemetry.Exporter.Prometheus.AspNetCore Issues related to OpenTelemetry.Exporter.Prometheus.AspNetCore NuGet package pkg:OpenTelemetry.Exporter.Prometheus.HttpListener Issues related to OpenTelemetry.Exporter.Prometheus.HttpListener NuGet package pkg:OpenTelemetry.Exporter.Zipkin Issues related to OpenTelemetry.Exporter.Zipkin NuGet package pkg:OpenTelemetry.Extensions.Hosting Issues related to OpenTelemetry.Extensions.Hosting NuGet package pkg:OpenTelemetry.Extensions.Propagators Issues related to OpenTelemetry.Extensions.Propagators NuGet package pkg:OpenTelemetry.Shims.OpenTracing Issues related to OpenTelemetry.Shims.OpenTracing NuGet package pkg:OpenTelemetry Issues related to OpenTelemetry NuGet package labels Jun 21, 2026
@martincostello martincostello changed the title Mark OpenTelemetry libraries as AOT/trim compatible [Infra] Mark libraries as AOT/trim compatible Jun 21, 2026
@martincostello
martincostello enabled auto-merge June 21, 2026 19:58
@codecov

codecov Bot commented Jun 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.98%. Comparing base (98c3e0c) to head (b173233).
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #7441      +/-   ##
==========================================
- Coverage   90.01%   89.98%   -0.04%     
==========================================
  Files         277      277              
  Lines       14631    14631              
==========================================
- Hits        13170    13165       -5     
- Misses       1461     1466       +5     
Flag Coverage Δ
unittests-Project-Experimental 89.97% <ø> (+0.09%) ⬆️
unittests-Project-Stable 89.88% <ø> (-0.11%) ⬇️
unittests-Solution 89.94% <ø> (-0.01%) ⬇️
unittests-UnstableCoreLibraries-Experimental 48.88% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 3 files with indirect coverage changes

@martincostello
martincostello added this pull request to the merge queue Jun 21, 2026
Merged via the queue into open-telemetry:main with commit 4adc254 Jun 21, 2026
99 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution @baronfel! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey.

@Kielek

Kielek commented Jun 22, 2026

Copy link
Copy Markdown
Member

Post merge review, shouldn't' also VerifyReferenceAotCompatibility be set to true?

red https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=windows%2Cnet8#verify-referenced-assemblies-are-aot-compatible

This was referenced Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra Infra work - CI/CD, code coverage, linters pkg:OpenTelemetry.Api.ProviderBuilderExtensions Issues related to OpenTelemetry.Api.ProviderBuilderExtensions NuGet package pkg:OpenTelemetry.Api Issues related to OpenTelemetry.Api NuGet package pkg:OpenTelemetry.Exporter.Console Issues related to OpenTelemetry.Exporter.Console NuGet package pkg:OpenTelemetry.Exporter.InMemory Issues related to OpenTelemetry.Exporter.InMemory NuGet package pkg:OpenTelemetry.Exporter.OpenTelemetryProtocol Issues related to OpenTelemetry.Exporter.OpenTelemetryProtocol NuGet package pkg:OpenTelemetry.Exporter.Prometheus.AspNetCore Issues related to OpenTelemetry.Exporter.Prometheus.AspNetCore NuGet package pkg:OpenTelemetry.Exporter.Prometheus.HttpListener Issues related to OpenTelemetry.Exporter.Prometheus.HttpListener NuGet package pkg:OpenTelemetry.Exporter.Zipkin Issues related to OpenTelemetry.Exporter.Zipkin NuGet package pkg:OpenTelemetry.Extensions.Hosting Issues related to OpenTelemetry.Extensions.Hosting NuGet package pkg:OpenTelemetry.Extensions.Propagators Issues related to OpenTelemetry.Extensions.Propagators NuGet package pkg:OpenTelemetry.Shims.OpenTracing Issues related to OpenTelemetry.Shims.OpenTracing NuGet package pkg:OpenTelemetry Issues related to OpenTelemetry NuGet package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants