diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index cb6bf5ff..5f7135d0 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -98,9 +98,37 @@ jobs:
name: testresults-${{ matrix.os_name }}
path: ./artifacts/TestResults/Release
- push-myget:
+ validate-packages:
needs: build
runs-on: ubuntu-latest
+ steps:
+ - name: Download packages
+ uses: actions/download-artifact@v3
+ with:
+ name: packages-windows
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v3
+
+ - name: Validate NuGet packages
+ shell: pwsh
+ run: |
+ dotnet tool install --global dotnet-validate --version 0.0.1-preview.304
+ $packages = Get-ChildItem -Filter "*.nupkg" | ForEach-Object { $_.FullName }
+ $invalidPackages = 0
+ foreach ($package in $packages) {
+ dotnet validate package local $package
+ if ($LASTEXITCODE -ne 0) {
+ $invalidPackages++
+ }
+ }
+ if ($invalidPackages -gt 0) {
+ Write-Output "::error::$invalidPackages NuGet package(s) failed validation."
+ }
+
+ push-packages-myget:
+ needs: validate-packages
+ runs-on: ubuntu-latest
if: |
github.event.repository.fork == false &&
(github.ref == 'refs/heads/dev' || startsWith(github.ref, 'refs/heads/rel/') || startsWith(github.ref, 'refs/tags/'))
@@ -116,8 +144,8 @@ jobs:
- name: Push packages to MyGet.org
run: nuget push "*.nupkg" -ApiKey ${{ secrets.MYGET_API_KEY }} -SkipDuplicate -Source https://www.myget.org/F/openiddict/api/v3/index.json
- push-nuget:
- needs: build
+ push-packages-nuget:
+ needs: validate-packages
runs-on: ubuntu-latest
if: github.event.repository.fork == false && startsWith(github.ref, 'refs/tags/')
steps:
diff --git a/Directory.Build.props b/Directory.Build.props
index 454a2e1a..3da34375 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -60,12 +60,17 @@
true
+ true
true
true
true
false
+
+
+
+
true
diff --git a/OpenIddict.sln b/OpenIddict.sln
index 8139285f..03be0aba 100644
--- a/OpenIddict.sln
+++ b/OpenIddict.sln
@@ -60,6 +60,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "eng", "eng", "{6E8E862C-3F26-47D9-9C20-E3E87FD7CDFC}"
ProjectSection(SolutionItems) = preProject
eng\CodeAnalysis.ruleset = eng\CodeAnalysis.ruleset
+ eng\CompatibilitySuppressions.xml = eng\CompatibilitySuppressions.xml
eng\key.snk = eng\key.snk
eng\Signing.props = eng\Signing.props
eng\Tools.props = eng\Tools.props
diff --git a/eng/CompatibilitySuppressions.xml b/eng/CompatibilitySuppressions.xml
new file mode 100644
index 00000000..654c2a4d
--- /dev/null
+++ b/eng/CompatibilitySuppressions.xml
@@ -0,0 +1,75 @@
+
+
+ CP0002
+ M:OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationConfiguration.#ctor
+ lib/net6.0/OpenIddict.Client.WebIntegration.dll
+ lib/net6.0/OpenIddict.Client.WebIntegration.dll
+ true
+
+
+
+ CP0002
+ M:OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationConfiguration.#ctor
+ lib/net7.0/OpenIddict.Client.WebIntegration.dll
+ lib/net7.0/OpenIddict.Client.WebIntegration.dll
+ true
+
+
+
+ CP0002
+ M:OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationHelpers.GetWebAuthenticationResult(OpenIddict.Client.OpenIddictClientTransaction)
+ lib/netcoreapp3.1/OpenIddict.Client.SystemIntegration.dll
+ lib/net6.0-windows7.0/OpenIddict.Client.SystemIntegration.dll
+
+
+
+ CP0002
+ M:OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationHelpers.GetWebAuthenticationResult(OpenIddict.Client.OpenIddictClientTransaction)
+ lib/netcoreapp3.1/OpenIddict.Client.SystemIntegration.dll
+ lib/net6.0/OpenIddict.Client.SystemIntegration.dll
+
+
+
+ CP0002
+ M:OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationConfiguration.#ctor
+ lib/netcoreapp3.1/OpenIddict.Client.WebIntegration.dll
+ lib/netcoreapp3.1/OpenIddict.Client.WebIntegration.dll
+ true
+
+
+
+ CP0002
+ M:OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationConfiguration.#ctor(Microsoft.Extensions.Hosting.IHostingEnvironment)
+ lib/netstandard2.0/OpenIddict.Client.SystemIntegration.dll
+ lib/netcoreapp3.1/OpenIddict.Client.SystemIntegration.dll
+
+
+
+ CP0002
+ M:OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationHandlers.AbortAuthenticationDemand.#ctor(OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationMarshal,Microsoft.Extensions.Hosting.IApplicationLifetime)
+ lib/netstandard2.0/OpenIddict.Client.SystemIntegration.dll
+ lib/netcoreapp3.1/OpenIddict.Client.SystemIntegration.dll
+
+
+
+ CP0002
+ M:OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationHandlers.RedirectProtocolActivation.#ctor(Microsoft.Extensions.Hosting.IApplicationLifetime,Microsoft.Extensions.Options.IOptionsMonitor{OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationOptions},OpenIddict.Client.SystemIntegration.OpenIddictClientSystemIntegrationService)
+ lib/netstandard2.0/OpenIddict.Client.SystemIntegration.dll
+ lib/netcoreapp3.1/OpenIddict.Client.SystemIntegration.dll
+
+
+
+ CP0002
+ M:OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationConfiguration.#ctor(System.IServiceProvider)
+ lib/netstandard2.0/OpenIddict.Client.WebIntegration.dll
+ lib/netstandard2.1/OpenIddict.Client.WebIntegration.dll
+
+
+
+ CP0002
+ M:OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationConfiguration.#ctor
+ lib/netstandard2.1/OpenIddict.Client.WebIntegration.dll
+ lib/netstandard2.1/OpenIddict.Client.WebIntegration.dll
+ true
+
+
\ No newline at end of file
diff --git a/eng/Versions.props b/eng/Versions.props
index dd792845..61df2f8d 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -5,6 +5,7 @@
5
0
$(MajorVersion).$(MinorVersion).$(PatchVersion)
+ 4.4.0
preview1
Preview 1