diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3211cfb9f51..d90942465fc 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -34,6 +34,7 @@ jobs:
instrumentation-packages: ['src/OpenTelemetry.Instrumentation*/**', '!**/*.md']
sdk-code: ['src/OpenTelemetry/**', 'test/OpenTelemetry.Tests/**', '!**/*.md']
sdk-package: ['src/OpenTelemetry/**', '!**/*.md']
+ unstable-core-packages: ['src/OpenTelemetry.Exporter.Prometheus.AspNetCore/**', 'src/OpenTelemetry.Exporter.Prometheus.HttpListener/**', 'src/OpenTelemetry.Shims.OpenTracing/**', '!**/*.md']
otlp: ['*/OpenTelemetry.Exporter.OpenTelemetryProtocol*/**', '!**/*.md']
lint-md:
@@ -100,6 +101,19 @@ jobs:
project-build-commands: '-p:RunningDotNetPack=true -p:ExposeExperimentalFeatures=true'
code-cov-name: 'Instrumentation-Experimental'
+ # Build unstable core libraries using stable packages released to NuGet
+ build-test-unstable-core:
+ needs: detect-changes
+ if: |
+ contains(needs.detect-changes.outputs.changes, 'unstable-core-packages')
+ || contains(needs.detect-changes.outputs.changes, 'build')
+ || contains(needs.detect-changes.outputs.changes, 'shared')
+ uses: ./.github/workflows/Component.BuildTest.yml
+ with:
+ project-name: './build/UnstableCoreLibraries.proj'
+ project-build-commands: '-p:RunningDotNetPack=true -p:ExposeExperimentalFeatures=true'
+ code-cov-name: 'Unstable-Core'
+
otlp-integration-test:
needs: detect-changes
if: |
@@ -180,6 +194,7 @@ jobs:
build-test-solution-experimental,
build-test-instrumentation-stable,
build-test-instrumentation-experimental,
+ build-test-unstable-core,
otlp-integration-test,
w3c-trace-context-integration-test,
validate-packages,
diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml
index 5fc56716624..757b38c18a5 100644
--- a/.github/workflows/package-validation.yml
+++ b/.github/workflows/package-validation.yml
@@ -21,7 +21,7 @@ jobs:
uses: actions/setup-dotnet@v4
- name: Pack
- run: dotnet pack OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=false
+ run: dotnet pack OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=false /p:RunningDotNetPack=true
run-package-validation-experimental:
runs-on: windows-latest
@@ -38,4 +38,4 @@ jobs:
uses: actions/setup-dotnet@v4
- name: Pack
- run: dotnet pack OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=true
+ run: dotnet pack OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=true /p:RunningDotNetPack=true
diff --git a/.github/workflows/publish-packages-1.0.yml b/.github/workflows/publish-packages-1.0.yml
index 3fa6ad549a3..1039e4bd777 100644
--- a/.github/workflows/publish-packages-1.0.yml
+++ b/.github/workflows/publish-packages-1.0.yml
@@ -36,7 +36,7 @@ jobs:
run: dotnet build OpenTelemetry.proj --configuration Release --no-restore -p:Deterministic=true -p:BuildNumber=${{ github.run_number }} -p:RunningDotNetPack=true
- name: dotnet pack
- run: dotnet pack OpenTelemetry.proj --configuration Release --no-restore --no-build
+ run: dotnet pack OpenTelemetry.proj --configuration Release --no-restore --no-build -p:PackTag=${{ github.ref }}
- name: Publish Artifacts
uses: actions/upload-artifact@v4
diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln
index 0043c772426..9557e1b6712 100644
--- a/OpenTelemetry.sln
+++ b/OpenTelemetry.sln
@@ -36,6 +36,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7CB2F02E
build\docker-compose.net8.0.yml = build\docker-compose.net8.0.yml
build\finalize-publicapi.ps1 = build\finalize-publicapi.ps1
build\GlobalAttrExclusions.txt = build\GlobalAttrExclusions.txt
+ build\InstrumentationLibraries.proj = build\InstrumentationLibraries.proj
build\opentelemetry-icon-color.png = build\opentelemetry-icon-color.png
build\OpenTelemetry.prod.loose.ruleset = build\OpenTelemetry.prod.loose.ruleset
build\OpenTelemetry.prod.ruleset = build\OpenTelemetry.prod.ruleset
@@ -46,6 +47,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7CB2F02E
build\test-aot-compatibility.ps1 = build\test-aot-compatibility.ps1
build\test-threadSafety.ps1 = build\test-threadSafety.ps1
build\xunit.runner.json = build\xunit.runner.json
+ build\UnstableCoreLibraries.proj = build\UnstableCoreLibraries.proj
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Zipkin", "src\OpenTelemetry.Exporter.Zipkin\OpenTelemetry.Exporter.Zipkin.csproj", "{7EDAE7FA-B44E-42CA-80FA-7DF2FAA2C5DD}"
diff --git a/build/Common.prod.props b/build/Common.prod.props
index eb4e42a6af3..011f7d9b313 100644
--- a/build/Common.prod.props
+++ b/build/Common.prod.props
@@ -54,6 +54,10 @@
false
+
+
@@ -63,6 +67,12 @@
Text="**AssemblyVersionDebug** TargetFramework: $(TargetFramework), MinVerVersion: $(MinVerVersion), BuildNumber: $(BuildNumber), FileVersion: $(FileVersion), ExposeExperimentalFeatures: $(ExposeExperimentalFeatures)" />
+
+
+
+
+
$(OTelLatestStableVer)
+ false
+
$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))
diff --git a/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/OpenTelemetry.Exporter.Prometheus.AspNetCore.csproj b/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/OpenTelemetry.Exporter.Prometheus.AspNetCore.csproj
index a94c7fdb1ae..a143d39ac12 100644
--- a/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/OpenTelemetry.Exporter.Prometheus.AspNetCore.csproj
+++ b/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/OpenTelemetry.Exporter.Prometheus.AspNetCore.csproj
@@ -5,18 +5,24 @@
$(TargetFrameworksForPrometheusAspNetCore)
ASP.NET Core middleware for hosting OpenTelemetry .NET Prometheus Exporter
$(PackageTags);prometheus;metrics
- core-
+ coreunstable-
$(DefineConstants);PROMETHEUS_ASPNETCORE
disable
-
-
- true
-
+
+
+
+
+
+
+
+
+
+
+
@@ -32,13 +38,5 @@
-
-
-
-
-
-
-
-
diff --git a/src/OpenTelemetry.Exporter.Prometheus.HttpListener/OpenTelemetry.Exporter.Prometheus.HttpListener.csproj b/src/OpenTelemetry.Exporter.Prometheus.HttpListener/OpenTelemetry.Exporter.Prometheus.HttpListener.csproj
index 2301edd4068..3766816a7e1 100644
--- a/src/OpenTelemetry.Exporter.Prometheus.HttpListener/OpenTelemetry.Exporter.Prometheus.HttpListener.csproj
+++ b/src/OpenTelemetry.Exporter.Prometheus.HttpListener/OpenTelemetry.Exporter.Prometheus.HttpListener.csproj
@@ -4,22 +4,20 @@
$(TargetFrameworksForLibraries)
Stand-alone HttpListener for hosting OpenTelemetry .NET Prometheus Exporter
$(PackageTags);prometheus;metrics
- core-
+ coreunstable-
disable
-
-
- true
-
-
-
+
+
+
+
+
diff --git a/src/OpenTelemetry.Instrumentation.AspNetCore/OpenTelemetry.Instrumentation.AspNetCore.csproj b/src/OpenTelemetry.Instrumentation.AspNetCore/OpenTelemetry.Instrumentation.AspNetCore.csproj
index e60747b9501..15aa86638dc 100644
--- a/src/OpenTelemetry.Instrumentation.AspNetCore/OpenTelemetry.Instrumentation.AspNetCore.csproj
+++ b/src/OpenTelemetry.Instrumentation.AspNetCore/OpenTelemetry.Instrumentation.AspNetCore.csproj
@@ -6,6 +6,7 @@
$(PackageTags);distributed-tracing;AspNetCore
Instrumentation.AspNetCore-
true
+ 1.8.1
disable
diff --git a/src/OpenTelemetry.Instrumentation.GrpcNetClient/OpenTelemetry.Instrumentation.GrpcNetClient.csproj b/src/OpenTelemetry.Instrumentation.GrpcNetClient/OpenTelemetry.Instrumentation.GrpcNetClient.csproj
index 8aa01b510bf..c00607b138b 100644
--- a/src/OpenTelemetry.Instrumentation.GrpcNetClient/OpenTelemetry.Instrumentation.GrpcNetClient.csproj
+++ b/src/OpenTelemetry.Instrumentation.GrpcNetClient/OpenTelemetry.Instrumentation.GrpcNetClient.csproj
@@ -11,6 +11,12 @@
disable
+
+
+ true
+
+
diff --git a/src/OpenTelemetry.Instrumentation.Http/OpenTelemetry.Instrumentation.Http.csproj b/src/OpenTelemetry.Instrumentation.Http/OpenTelemetry.Instrumentation.Http.csproj
index 35e43a09e68..686e415b942 100644
--- a/src/OpenTelemetry.Instrumentation.Http/OpenTelemetry.Instrumentation.Http.csproj
+++ b/src/OpenTelemetry.Instrumentation.Http/OpenTelemetry.Instrumentation.Http.csproj
@@ -6,6 +6,7 @@
$(PackageTags);distributed-tracing
Instrumentation.Http-
true
+ 1.8.1
disable
diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/OpenTelemetry.Instrumentation.SqlClient.csproj b/src/OpenTelemetry.Instrumentation.SqlClient/OpenTelemetry.Instrumentation.SqlClient.csproj
index c62aa3a0800..96aeed9ed2e 100644
--- a/src/OpenTelemetry.Instrumentation.SqlClient/OpenTelemetry.Instrumentation.SqlClient.csproj
+++ b/src/OpenTelemetry.Instrumentation.SqlClient/OpenTelemetry.Instrumentation.SqlClient.csproj
@@ -11,6 +11,12 @@
disable
+
+
+ true
+
+
diff --git a/src/OpenTelemetry.Shims.OpenTracing/OpenTelemetry.Shims.OpenTracing.csproj b/src/OpenTelemetry.Shims.OpenTracing/OpenTelemetry.Shims.OpenTracing.csproj
index 5cb3b56a022..645c9e49e59 100644
--- a/src/OpenTelemetry.Shims.OpenTracing/OpenTelemetry.Shims.OpenTracing.csproj
+++ b/src/OpenTelemetry.Shims.OpenTracing/OpenTelemetry.Shims.OpenTracing.csproj
@@ -3,6 +3,7 @@
$(TargetFrameworksForLibraries)
OpenTracing shim for OpenTelemetry .NET
$(PackageTags);distributed-tracing;OpenTracing
+ coreunstable-
disable
@@ -12,10 +13,14 @@
-
+
+
+
+
+