Skip to content

Commit bf0d3db

Browse files
Extend NuGet package validation
Use Meziantou.Framework.NuGetPackageValidation.Tool to extend NuGet package validation.
1 parent 8f3e297 commit bf0d3db

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

.config/dotnet-tools.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@
88
"dotnet-validate"
99
],
1010
"rollForward": false
11+
},
12+
"meziantou.framework.nugetpackagevalidation.tool": {
13+
"version": "1.0.31",
14+
"commands": [
15+
"meziantou.validate-nuget-package"
16+
],
17+
"rollForward": false
1118
}
1219
}
1320
}

.github/workflows/ci.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
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
@@ -96,7 +97,9 @@ jobs:
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

Comments
 (0)