diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 1157c407..86bc8b9a 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -8,6 +8,13 @@ "dotnet-validate" ], "rollForward": false + }, + "meziantou.framework.nugetpackagevalidation.tool": { + "version": "1.0.31", + "commands": [ + "meziantou.validate-nuget-package" + ], + "rollForward": false } } } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6050960d..8c7954f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,7 @@ jobs: outputs: dotnet-sdk-version: ${{ steps.setup-dotnet.outputs.dotnet-version }} dotnet-validate-version: ${{ steps.get-dotnet-tools-versions.outputs.dotnet-validate-version }} + nuget-package-validation-version: ${{ steps.get-dotnet-tools-versions.outputs.nuget-package-validation-version }} permissions: attestations: write @@ -96,7 +97,9 @@ jobs: run: | $manifest = (Get-Content "./.config/dotnet-tools.json" | Out-String | ConvertFrom-Json) $dotnetValidateVersion = $manifest.tools.'dotnet-validate'.version + $nugetPackageValidationVersion = $manifest.tools.'meziantou.framework.nugetpackagevalidation.tool'.version "dotnet-validate-version=${dotnetValidateVersion}" >> ${env:GITHUB_OUTPUT} + "nuget-package-validation-version=${nugetPackageValidationVersion}" >> ${env:GITHUB_OUTPUT} validate-packages: needs: build-test @@ -113,17 +116,33 @@ jobs: with: dotnet-version: ${{ needs.build-test.outputs.dotnet-sdk-version }} - - name: Validate NuGet packages + - name: Install NuGet package validation tools shell: pwsh env: DOTNET_VALIDATE_VERSION: ${{ needs.build-test.outputs.dotnet-validate-version }} + NUGET_PACKAGE_VALIDATION_VERSION: ${{ needs.build-test.outputs.nuget-package-validation-version }} run: | dotnet tool install --global dotnet-validate --version ${env:DOTNET_VALIDATE_VERSION} --allow-roll-forward + dotnet tool install --global Meziantou.Framework.NuGetPackageValidation.Tool --version ${env:NUGET_PACKAGE_VALIDATION_VERSION} --allow-roll-forward + + - name: Validate NuGet packages + shell: pwsh + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | $packages = Get-ChildItem -Filter "*.nupkg" | ForEach-Object { $_.FullName } $invalidPackages = 0 foreach ($package in $packages) { + $isValid = $true dotnet validate package local $package if ($LASTEXITCODE -ne 0) { + $isValid = $false + } + meziantou.validate-nuget-package $package --github-token ${env:GH_TOKEN} + if ($LASTEXITCODE -ne 0) { + $isValid = $false + } + if (-Not $isValid) { $invalidPackages++ } } diff --git a/CHANGELOG.md b/CHANGELOG.md index ef3738a9..7a7a4c17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,9 @@ ### New features +* Include XML documentation in the `Grafana.OpenTelemetry` and + `Grafana.OpenTelemetry.Base` NuGet packages. + [#295](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/295) * Enable metrics for SQL Client instrumentation ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Use 1.12.0 of OpenTelemetry ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) diff --git a/src/Grafana.OpenTelemetry.Base/ExporterSettings/ExporterSettings.cs b/src/Grafana.OpenTelemetry.Base/ExporterSettings/ExporterSettings.cs index a7baacd4..76e63d57 100644 --- a/src/Grafana.OpenTelemetry.Base/ExporterSettings/ExporterSettings.cs +++ b/src/Grafana.OpenTelemetry.Base/ExporterSettings/ExporterSettings.cs @@ -45,7 +45,7 @@ public abstract class ExporterSettings /// /// Applies the exporter settings by initializing an exporter on the - /// given . + /// given . /// /// A instance. internal abstract void Apply(OpenTelemetryLoggerOptions options); diff --git a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj index 2d2e633e..e4a6bdef 100644 --- a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj +++ b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj @@ -2,6 +2,7 @@ Minimal Grafana distribution of OpenTelemetry .NET + true true net8.0;netstandard2.0;net462 diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 3b52046f..7a4a0076 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -2,6 +2,7 @@ Full Grafana distribution of OpenTelemetry .NET + true true net8.0;netstandard2.0;net462 diff --git a/src/Grafana.OpenTelemetry/OpenTelemetryBuilderExtension.cs b/src/Grafana.OpenTelemetry/OpenTelemetryBuilderExtension.cs index cc593494..c276f614 100644 --- a/src/Grafana.OpenTelemetry/OpenTelemetryBuilderExtension.cs +++ b/src/Grafana.OpenTelemetry/OpenTelemetryBuilderExtension.cs @@ -11,7 +11,7 @@ namespace Grafana.OpenTelemetry { /// - /// Extension for the provided by the OpenTelemetry .NET distribution + /// Extension for the provided by the OpenTelemetry .NET distribution /// for Grafana. /// /// This is used for easier configuration for ASP.NET Core projects.