diff --git a/.github/workflow-gen/Program.cs b/.github/workflow-gen/Program.cs index 44748172..73d4099c 100644 --- a/.github/workflow-gen/Program.cs +++ b/.github/workflow-gen/Program.cs @@ -9,22 +9,26 @@ new("ignore-this", ["IgnoreThis"], ["IgnoreThis.Tests"], - "it"), + "it", + ["ubuntu-latest", "windows-latest"]), new("access-token-management", ["AccessTokenManagement", "AccessTokenManagement.OpenIdConnect"], ["AccessTokenManagement.Tests"], - "atm"), + "atm", + ["ubuntu-latest"]), new("identity-model", ["IdentityModel"], ["IdentityModel.Tests"], - "im"), + "im", + ["ubuntu-latest", "windows-latest"]), new("identity-model-oidc-client", ["IdentityModel.OidcClient", "IdentityModel.OidcClient.Extensions"], ["IdentityModel.OidcClient.Tests"], - "imoc") + "imoc", + ["ubuntu-latest"]) ]; foreach (var component in components) @@ -54,49 +58,76 @@ void GenerateCiWorkflow(Component component) workflow.EnvDefaults(); - var job = workflow + var buildJob = workflow .Job("build") .Name("Build") - .RunsOn(GitHubHostedRunners.UbuntuLatest) - .Defaults().Run("bash", component.Name) - .Job; + .Strategy() + .Matrix(("os", component.RunsOn)) + .FailFast(false) + .Job + .RunsOn("${{ matrix.os }}") + .Defaults() + .Run("bash", component.Name) + .Job; - job.Permissions( - actions: Permission.Read, - contents: Permission.Read, - checks: Permission.Write, - packages: Permission.Write); + buildJob.Permissions(checks: Permission.Write, contents: Permission.Read); - job.TimeoutMinutes(15); + buildJob.TimeoutMinutes(15); - job.Step() + buildJob.Step() .ActionsCheckout(); - job.StepSetupDotNet(); + buildJob.StepSetupDotNet(); foreach (var testProject in component.Tests) { - job.StepTestAndReport(component.Name, testProject); + buildJob.StepTestAndReport(component.Name, testProject, "net8.0"); + buildJob.StepTestAndReport(component.Name, testProject, "net9.0"); + if (component.RunsOn.Contains("windows-latest")) + { + buildJob.StepTestAndReport(component.Name, testProject, "net481"); + } } - job.StepInstallCACerts(); + var packJob = workflow.Job("pack") + .Name("Pack") + .RunsOn(GitHubHostedRunners.UbuntuLatest) + .Needs("build") + .Defaults() + .Run("bash", component.Name) + .Job; + + packJob.Permissions( + actions: Permission.Read, + contents: Permission.Read, + checks: Permission.Write, + packages: Permission.Write); + + packJob.TimeoutMinutes(15); - job.StepToolRestore(); + packJob.Step() + .ActionsCheckout(); + + packJob.StepSetupDotNet(); + + packJob.StepInstallCACerts(); + + packJob.StepToolRestore(); foreach (var project in component.Projects) { - job.StepPack(project); + packJob.StepPack(project); } - job.StepSign(); + packJob.StepSign(); - job.StepPush("MyGet", "https://www.myget.org/F/duende_identityserver/api/v2/package", "MYGET"); + packJob.StepPush("MyGet", "https://www.myget.org/F/duende_identityserver/api/v2/package", "MYGET"); - job.StepPush("GitHub", "https://nuget.pkg.github.com/DuendeSoftware/index.json", "GITHUB_TOKEN") + packJob.StepPush("GitHub", "https://nuget.pkg.github.com/DuendeSoftware/index.json", "GITHUB_TOKEN") .Env(("GITHUB_TOKEN", contexts.Secrets.GitHubToken), ("NUGET_AUTH_TOKEN", contexts.Secrets.GitHubToken)); - job.StepUploadArtifacts(component.Name); + packJob.StepUploadArtifacts(component.Name); var fileName = $"{component.Name}-ci"; WriteWorkflow(workflow, fileName); @@ -120,7 +151,7 @@ void GenerateReleaseWorkflow(Component component) .Defaults().Run("bash", component.Name).Job; tagJob.Step() - .ActionsCheckout(); + .ActionsCheckout("11bd71901bbe5b1630ceea73d27597364c9af683"); tagJob.StepSetupDotNet(); @@ -180,7 +211,7 @@ void WriteWorkflow(Workflow workflow, string fileName) Console.WriteLine($"Wrote workflow to {filePath}"); } -record Component(string Name, string[] Projects, string[] Tests, string TagPrefix); +record Component(string Name, string[] Projects, string[] Tests, string TagPrefix, string[] RunsOn); public static class StepExtensions { @@ -197,27 +228,40 @@ public static void StepSetupDotNet(this Job job) public static Step IfRefMain(this Step step) => step.If("github.ref == 'refs/heads/main'"); - public static void StepTestAndReport(this Job job, string componentName, string testProject) + public static Step IfWindows(this Step step) + => step.If("matrix.os == 'windows-latest'"); + + public static void StepTestAndReport(this Job job, string componentName, string testProject, string framework) { var path = $"test/{testProject}"; - var logFileName = "Tests.trx"; - var flags = $"--logger \"console;verbosity=normal\" " + + var logFileName = $"tests-{framework}.trx"; + var flags = $"--configuration Release " + + $"--framework {framework} " + + $"--logger \"console;verbosity=normal\" " + $"--logger \"trx;LogFileName={logFileName}\" " + $"--collect:\"XPlat Code Coverage\""; - job.Step() - .Name($"Test - {testProject}") - .Run($"dotnet test -c Release {path} {flags}"); + var isWindows = framework == "net481"; - job.Step() - .Name($"Test report - {testProject}") + var testStep = job.Step() + .Name($"Test - {testProject}-{framework}") + .Run($"dotnet test {path} {flags}"); + + var testReportStep = job.Step() + .Name($"Test report {testProject}-{framework}") .Uses("dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5") // v1.9.1 .If("success() || failure()") .With( - ("name", $"Test Report - {testProject}"), + ("name", $"Test Report {testProject}-{framework}"), ("path", $"{componentName}/{path}/TestResults/{logFileName}"), ("reporter", "dotnet-trx"), ("fail-on-error", "true"), ("fail-on-empty", "true")); + + if (isWindows) + { + testStep.IfWindows(); + testReportStep.IfWindows(); + } } // These intermediate certificates are required for signing and are not installed on the GitHub runners by default. diff --git a/.github/workflows/access-token-management-ci.yml b/.github/workflows/access-token-management-ci.yml index e60539b0..66fae85a 100644 --- a/.github/workflows/access-token-management-ci.yml +++ b/.github/workflows/access-token-management-ci.yml @@ -19,16 +19,19 @@ env: jobs: build: name: Build - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} permissions: - actions: read checks: write contents: read - packages: write defaults: run: shell: bash working-directory: access-token-management + strategy: + matrix: + os: + - ubuntu-latest + fail-fast: false timeout-minutes: 15 steps: - name: Checkout @@ -42,17 +45,55 @@ jobs: 6.0.x 8.0.x 9.0.x - - name: Test - AccessTokenManagement.Tests - run: dotnet test -c Release test/AccessTokenManagement.Tests --logger "console;verbosity=normal" --logger "trx;LogFileName=Tests.trx" --collect:"XPlat Code Coverage" - - name: Test report - AccessTokenManagement.Tests + - name: Test - AccessTokenManagement.Tests-net8.0 + run: dotnet test test/AccessTokenManagement.Tests --configuration Release --framework net8.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net8.0.trx" --collect:"XPlat Code Coverage" + - name: Test report AccessTokenManagement.Tests-net8.0 + if: success() || failure() + uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 + with: + name: Test Report AccessTokenManagement.Tests-net8.0 + path: access-token-management/test/AccessTokenManagement.Tests/TestResults/tests-net8.0.trx + reporter: dotnet-trx + fail-on-error: true + fail-on-empty: true + - name: Test - AccessTokenManagement.Tests-net9.0 + run: dotnet test test/AccessTokenManagement.Tests --configuration Release --framework net9.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net9.0.trx" --collect:"XPlat Code Coverage" + - name: Test report AccessTokenManagement.Tests-net9.0 if: success() || failure() uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 with: - name: Test Report - AccessTokenManagement.Tests - path: access-token-management/test/AccessTokenManagement.Tests/TestResults/Tests.trx + name: Test Report AccessTokenManagement.Tests-net9.0 + path: access-token-management/test/AccessTokenManagement.Tests/TestResults/tests-net9.0.trx reporter: dotnet-trx fail-on-error: true fail-on-empty: true + pack: + name: Pack + needs: + - build + runs-on: ubuntu-latest + permissions: + actions: read + checks: write + contents: read + packages: write + defaults: + run: + shell: bash + working-directory: access-token-management + timeout-minutes: 15 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Dotnet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 + with: + dotnet-version: |- + 6.0.x + 8.0.x + 9.0.x - name: Install Sectigo CodeSiging CA certificates run: |- sudo apt-get update diff --git a/.github/workflows/access-token-management-release.yml b/.github/workflows/access-token-management-release.yml index 84e74bac..a5abcfb1 100644 --- a/.github/workflows/access-token-management-release.yml +++ b/.github/workflows/access-token-management-release.yml @@ -25,7 +25,7 @@ jobs: working-directory: access-token-management steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: fetch-depth: 0 - name: Setup Dotnet diff --git a/.github/workflows/identity-model-ci.yml b/.github/workflows/identity-model-ci.yml index 0786abe1..6ac2d357 100644 --- a/.github/workflows/identity-model-ci.yml +++ b/.github/workflows/identity-model-ci.yml @@ -19,16 +19,20 @@ env: jobs: build: name: Build - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} permissions: - actions: read checks: write contents: read - packages: write defaults: run: shell: bash working-directory: identity-model + strategy: + matrix: + os: + - ubuntu-latest + - windows-latest + fail-fast: false timeout-minutes: 15 steps: - name: Checkout @@ -42,17 +46,67 @@ jobs: 6.0.x 8.0.x 9.0.x - - name: Test - IdentityModel.Tests - run: dotnet test -c Release test/IdentityModel.Tests --logger "console;verbosity=normal" --logger "trx;LogFileName=Tests.trx" --collect:"XPlat Code Coverage" - - name: Test report - IdentityModel.Tests + - name: Test - IdentityModel.Tests-net8.0 + run: dotnet test test/IdentityModel.Tests --configuration Release --framework net8.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net8.0.trx" --collect:"XPlat Code Coverage" + - name: Test report IdentityModel.Tests-net8.0 + if: success() || failure() + uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 + with: + name: Test Report IdentityModel.Tests-net8.0 + path: identity-model/test/IdentityModel.Tests/TestResults/tests-net8.0.trx + reporter: dotnet-trx + fail-on-error: true + fail-on-empty: true + - name: Test - IdentityModel.Tests-net9.0 + run: dotnet test test/IdentityModel.Tests --configuration Release --framework net9.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net9.0.trx" --collect:"XPlat Code Coverage" + - name: Test report IdentityModel.Tests-net9.0 if: success() || failure() uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 with: - name: Test Report - IdentityModel.Tests - path: identity-model/test/IdentityModel.Tests/TestResults/Tests.trx + name: Test Report IdentityModel.Tests-net9.0 + path: identity-model/test/IdentityModel.Tests/TestResults/tests-net9.0.trx reporter: dotnet-trx fail-on-error: true fail-on-empty: true + - name: Test - IdentityModel.Tests-net481 + if: matrix.os == 'windows-latest' + run: dotnet test test/IdentityModel.Tests --configuration Release --framework net481 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net481.trx" --collect:"XPlat Code Coverage" + - name: Test report IdentityModel.Tests-net481 + if: matrix.os == 'windows-latest' + uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 + with: + name: Test Report IdentityModel.Tests-net481 + path: identity-model/test/IdentityModel.Tests/TestResults/tests-net481.trx + reporter: dotnet-trx + fail-on-error: true + fail-on-empty: true + pack: + name: Pack + needs: + - build + runs-on: ubuntu-latest + permissions: + actions: read + checks: write + contents: read + packages: write + defaults: + run: + shell: bash + working-directory: identity-model + timeout-minutes: 15 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Dotnet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 + with: + dotnet-version: |- + 6.0.x + 8.0.x + 9.0.x - name: Install Sectigo CodeSiging CA certificates run: |- sudo apt-get update diff --git a/.github/workflows/identity-model-oidc-client-ci.yml b/.github/workflows/identity-model-oidc-client-ci.yml index 90adf5b2..b1920d6c 100644 --- a/.github/workflows/identity-model-oidc-client-ci.yml +++ b/.github/workflows/identity-model-oidc-client-ci.yml @@ -19,16 +19,19 @@ env: jobs: build: name: Build - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} permissions: - actions: read checks: write contents: read - packages: write defaults: run: shell: bash working-directory: identity-model-oidc-client + strategy: + matrix: + os: + - ubuntu-latest + fail-fast: false timeout-minutes: 15 steps: - name: Checkout @@ -42,17 +45,55 @@ jobs: 6.0.x 8.0.x 9.0.x - - name: Test - IdentityModel.OidcClient.Tests - run: dotnet test -c Release test/IdentityModel.OidcClient.Tests --logger "console;verbosity=normal" --logger "trx;LogFileName=Tests.trx" --collect:"XPlat Code Coverage" - - name: Test report - IdentityModel.OidcClient.Tests + - name: Test - IdentityModel.OidcClient.Tests-net8.0 + run: dotnet test test/IdentityModel.OidcClient.Tests --configuration Release --framework net8.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net8.0.trx" --collect:"XPlat Code Coverage" + - name: Test report IdentityModel.OidcClient.Tests-net8.0 + if: success() || failure() + uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 + with: + name: Test Report IdentityModel.OidcClient.Tests-net8.0 + path: identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/TestResults/tests-net8.0.trx + reporter: dotnet-trx + fail-on-error: true + fail-on-empty: true + - name: Test - IdentityModel.OidcClient.Tests-net9.0 + run: dotnet test test/IdentityModel.OidcClient.Tests --configuration Release --framework net9.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net9.0.trx" --collect:"XPlat Code Coverage" + - name: Test report IdentityModel.OidcClient.Tests-net9.0 if: success() || failure() uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 with: - name: Test Report - IdentityModel.OidcClient.Tests - path: identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/TestResults/Tests.trx + name: Test Report IdentityModel.OidcClient.Tests-net9.0 + path: identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/TestResults/tests-net9.0.trx reporter: dotnet-trx fail-on-error: true fail-on-empty: true + pack: + name: Pack + needs: + - build + runs-on: ubuntu-latest + permissions: + actions: read + checks: write + contents: read + packages: write + defaults: + run: + shell: bash + working-directory: identity-model-oidc-client + timeout-minutes: 15 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Dotnet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 + with: + dotnet-version: |- + 6.0.x + 8.0.x + 9.0.x - name: Install Sectigo CodeSiging CA certificates run: |- sudo apt-get update diff --git a/.github/workflows/identity-model-oidc-client-release.yml b/.github/workflows/identity-model-oidc-client-release.yml index fa71feca..c9ea576e 100644 --- a/.github/workflows/identity-model-oidc-client-release.yml +++ b/.github/workflows/identity-model-oidc-client-release.yml @@ -25,7 +25,7 @@ jobs: working-directory: identity-model-oidc-client steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: fetch-depth: 0 - name: Setup Dotnet diff --git a/.github/workflows/identity-model-release.yml b/.github/workflows/identity-model-release.yml index cf91d1eb..dd9715d1 100644 --- a/.github/workflows/identity-model-release.yml +++ b/.github/workflows/identity-model-release.yml @@ -25,7 +25,7 @@ jobs: working-directory: identity-model steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: fetch-depth: 0 - name: Setup Dotnet diff --git a/.github/workflows/ignore-this-ci.yml b/.github/workflows/ignore-this-ci.yml index f1598fee..2a443224 100644 --- a/.github/workflows/ignore-this-ci.yml +++ b/.github/workflows/ignore-this-ci.yml @@ -19,16 +19,20 @@ env: jobs: build: name: Build - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} permissions: - actions: read checks: write contents: read - packages: write defaults: run: shell: bash working-directory: ignore-this + strategy: + matrix: + os: + - ubuntu-latest + - windows-latest + fail-fast: false timeout-minutes: 15 steps: - name: Checkout @@ -42,17 +46,67 @@ jobs: 6.0.x 8.0.x 9.0.x - - name: Test - IgnoreThis.Tests - run: dotnet test -c Release test/IgnoreThis.Tests --logger "console;verbosity=normal" --logger "trx;LogFileName=Tests.trx" --collect:"XPlat Code Coverage" - - name: Test report - IgnoreThis.Tests + - name: Test - IgnoreThis.Tests-net8.0 + run: dotnet test test/IgnoreThis.Tests --configuration Release --framework net8.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net8.0.trx" --collect:"XPlat Code Coverage" + - name: Test report IgnoreThis.Tests-net8.0 + if: success() || failure() + uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 + with: + name: Test Report IgnoreThis.Tests-net8.0 + path: ignore-this/test/IgnoreThis.Tests/TestResults/tests-net8.0.trx + reporter: dotnet-trx + fail-on-error: true + fail-on-empty: true + - name: Test - IgnoreThis.Tests-net9.0 + run: dotnet test test/IgnoreThis.Tests --configuration Release --framework net9.0 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net9.0.trx" --collect:"XPlat Code Coverage" + - name: Test report IgnoreThis.Tests-net9.0 if: success() || failure() uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 with: - name: Test Report - IgnoreThis.Tests - path: ignore-this/test/IgnoreThis.Tests/TestResults/Tests.trx + name: Test Report IgnoreThis.Tests-net9.0 + path: ignore-this/test/IgnoreThis.Tests/TestResults/tests-net9.0.trx reporter: dotnet-trx fail-on-error: true fail-on-empty: true + - name: Test - IgnoreThis.Tests-net481 + if: matrix.os == 'windows-latest' + run: dotnet test test/IgnoreThis.Tests --configuration Release --framework net481 --logger "console;verbosity=normal" --logger "trx;LogFileName=tests-net481.trx" --collect:"XPlat Code Coverage" + - name: Test report IgnoreThis.Tests-net481 + if: matrix.os == 'windows-latest' + uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 + with: + name: Test Report IgnoreThis.Tests-net481 + path: ignore-this/test/IgnoreThis.Tests/TestResults/tests-net481.trx + reporter: dotnet-trx + fail-on-error: true + fail-on-empty: true + pack: + name: Pack + needs: + - build + runs-on: ubuntu-latest + permissions: + actions: read + checks: write + contents: read + packages: write + defaults: + run: + shell: bash + working-directory: ignore-this + timeout-minutes: 15 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Dotnet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 + with: + dotnet-version: |- + 6.0.x + 8.0.x + 9.0.x - name: Install Sectigo CodeSiging CA certificates run: |- sudo apt-get update diff --git a/.github/workflows/ignore-this-release.yml b/.github/workflows/ignore-this-release.yml index 755e9052..78f379fe 100644 --- a/.github/workflows/ignore-this-release.yml +++ b/.github/workflows/ignore-this-release.yml @@ -25,7 +25,7 @@ jobs: working-directory: ignore-this steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: fetch-depth: 0 - name: Setup Dotnet diff --git a/access-token-management/test/AccessTokenManagement.Tests/AccessTokenManagement.Tests.net8.0.v3.ncrunchproject b/access-token-management/test/AccessTokenManagement.Tests/AccessTokenManagement.Tests.net8.0.v3.ncrunchproject new file mode 100644 index 00000000..46105ee2 --- /dev/null +++ b/access-token-management/test/AccessTokenManagement.Tests/AccessTokenManagement.Tests.net8.0.v3.ncrunchproject @@ -0,0 +1,8 @@ + + + + AspNetTestHostCompatibility + LostReference + + + \ No newline at end of file diff --git a/access-token-management/test/AccessTokenManagement.Tests/AccessTokenManagement.Tests.net9.0.v3.ncrunchproject b/access-token-management/test/AccessTokenManagement.Tests/AccessTokenManagement.Tests.net9.0.v3.ncrunchproject new file mode 100644 index 00000000..46105ee2 --- /dev/null +++ b/access-token-management/test/AccessTokenManagement.Tests/AccessTokenManagement.Tests.net9.0.v3.ncrunchproject @@ -0,0 +1,8 @@ + + + + AspNetTestHostCompatibility + LostReference + + + \ No newline at end of file diff --git a/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/IdentityModel.OidcClient.Extensions.csproj b/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/IdentityModel.OidcClient.Extensions.csproj index 77abc243..d998da0c 100644 --- a/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/IdentityModel.OidcClient.Extensions.csproj +++ b/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/IdentityModel.OidcClient.Extensions.csproj @@ -1,6 +1,6 @@  - netstandard2.0;net6.0;net8.0 + netstandard2.0;net8.0 Duende.IdentityModel.OidcClient Duende.IdentityModel.OidcClient.Extensions Duende.IdentityModel.OidcClient.Extensions diff --git a/identity-model-oidc-client/src/IdentityModel.OidcClient/IdentityModel.OidcClient.csproj b/identity-model-oidc-client/src/IdentityModel.OidcClient/IdentityModel.OidcClient.csproj index 829d6469..6c465d13 100644 --- a/identity-model-oidc-client/src/IdentityModel.OidcClient/IdentityModel.OidcClient.csproj +++ b/identity-model-oidc-client/src/IdentityModel.OidcClient/IdentityModel.OidcClient.csproj @@ -1,6 +1,6 @@  - netstandard2.0;net6.0;net8.0 + netstandard2.0;net8.0 Duende.IdentityModel.OidcClient Duende.IdentityModel.OidcClient Duende.IdentityModel.OidcClient diff --git a/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.csproj b/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.csproj index 6f498d1b..44476346 100644 --- a/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.csproj +++ b/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.csproj @@ -1,6 +1,6 @@  - net6.0;net8.0 + net8.0;net9.0 Duende.IdentityModel.OidcClient ../../../key.snk true diff --git a/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net6.0.v3.ncrunchproject b/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net6.0.v3.ncrunchproject index cd54b69b..5ff63f7c 100644 --- a/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net6.0.v3.ncrunchproject +++ b/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net6.0.v3.ncrunchproject @@ -2,6 +2,7 @@ LostReference + AspNetTestHostCompatibility \ No newline at end of file diff --git a/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net8.0.v3.ncrunchproject b/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net8.0.v3.ncrunchproject index cd54b69b..5ff63f7c 100644 --- a/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net8.0.v3.ncrunchproject +++ b/identity-model-oidc-client/test/IdentityModel.OidcClient.Tests/IdentityModel.OidcClient.Tests.net8.0.v3.ncrunchproject @@ -2,6 +2,7 @@ LostReference + AspNetTestHostCompatibility \ No newline at end of file diff --git a/identity-model/test/IdentityModel.Tests/Verifications/PublicApiVerificationTests.cs b/identity-model/test/IdentityModel.Tests/Verifications/PublicApiVerificationTests.cs index 2d6cc8ae..a023b63a 100644 --- a/identity-model/test/IdentityModel.Tests/Verifications/PublicApiVerificationTests.cs +++ b/identity-model/test/IdentityModel.Tests/Verifications/PublicApiVerificationTests.cs @@ -1,13 +1,13 @@ // Copyright (c) Duende Software. All rights reserved. // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. +#if NET8_0_OR_GREATER using PublicApiGenerator; namespace Duende.IdentityModel.Verifications; public class PublicApiVerificationTests { -#if NET8_0 [Fact] public async Task VerifyPublicApi() { @@ -19,5 +19,5 @@ public async Task VerifyPublicApi() var settings = new VerifySettings(); await Verify(publicApi, settings); } -#endif -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/ignore-this/src/IgnoreThis/IgnoreThis.csproj b/ignore-this/src/IgnoreThis/IgnoreThis.csproj index c3769c9e..0e7c05b9 100644 --- a/ignore-this/src/IgnoreThis/IgnoreThis.csproj +++ b/ignore-this/src/IgnoreThis/IgnoreThis.csproj @@ -1,6 +1,6 @@ - net8.0 + netstandard2.0;net8.0;net9.0 enable true Duende.IgnoreThis diff --git a/ignore-this/test/IgnoreThis.Tests/IgnoreThis.Tests.csproj b/ignore-this/test/IgnoreThis.Tests/IgnoreThis.Tests.csproj index 2d2ae076..36823e58 100644 --- a/ignore-this/test/IgnoreThis.Tests/IgnoreThis.Tests.csproj +++ b/ignore-this/test/IgnoreThis.Tests/IgnoreThis.Tests.csproj @@ -1,8 +1,11 @@ - net8.0 + net8.0;net9.0 Duende.IgnoreThis + + net481;$(TargetFrameworks) + diff --git a/src.props b/src.props index 676c4b97..d8753f7e 100644 --- a/src.props +++ b/src.props @@ -33,7 +33,8 @@ ../../../key.snk true - + + true true