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 @@ - + + + + +