2727 outputs :
2828 dotnet-sdk-version : ${{ steps.setup-dotnet.outputs.dotnet-version }}
2929 dotnet-validate-version : ${{ steps.get-dotnet-tools-versions.outputs.dotnet-validate-version }}
30+ nuget-package-validation-version : ${{ steps.get-dotnet-tools-versions.outputs.nuget-package-validation-version }}
3031
3132 permissions :
3233 attestations : write
9697 run : |
9798 $manifest = (Get-Content "./.config/dotnet-tools.json" | Out-String | ConvertFrom-Json)
9899 $dotnetValidateVersion = $manifest.tools.'dotnet-validate'.version
100+ $nugetPackageValidationVersion = $manifest.tools.'meziantou.framework.nugetpackagevalidation.tool'.version
99101 "dotnet-validate-version=${dotnetValidateVersion}" >> ${env:GITHUB_OUTPUT}
102+ "nuget-package-validation-version=${nugetPackageValidationVersion}" >> ${env:GITHUB_OUTPUT}
100103
101104 validate-packages :
102105 needs : build-test
@@ -113,17 +116,33 @@ jobs:
113116 with :
114117 dotnet-version : ${{ needs.build-test.outputs.dotnet-sdk-version }}
115118
116- - name : Validate NuGet packages
119+ - name : Install NuGet package validation tools
117120 shell : pwsh
118121 env :
119122 DOTNET_VALIDATE_VERSION : ${{ needs.build-test.outputs.dotnet-validate-version }}
123+ NUGET_PACKAGE_VALIDATION_VERSION : ${{ needs.build-test.outputs.nuget-package-validation-version }}
120124 run : |
121125 dotnet tool install --global dotnet-validate --version ${env:DOTNET_VALIDATE_VERSION} --allow-roll-forward
126+ dotnet tool install --global Meziantou.Framework.NuGetPackageValidation.Tool --version ${env:NUGET_PACKAGE_VALIDATION_VERSION} --allow-roll-forward
127+
128+ - name : Validate NuGet packages
129+ shell : pwsh
130+ env :
131+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
132+ run : |
122133 $packages = Get-ChildItem -Filter "*.nupkg" | ForEach-Object { $_.FullName }
123134 $invalidPackages = 0
124135 foreach ($package in $packages) {
136+ $isValid = $true
125137 dotnet validate package local $package
126138 if ($LASTEXITCODE -ne 0) {
139+ $isValid = $false
140+ }
141+ meziantou.validate-nuget-package $package --github-token ${env:GH_TOKEN}
142+ if ($LASTEXITCODE -ne 0) {
143+ $isValid = $false
144+ }
145+ if (-Not $isValid) {
127146 $invalidPackages++
128147 }
129148 }
0 commit comments