Handle case in DefaultSessionCoordinationService where the client might be null in ProcessExpirationAsync #1597
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This was generated by tool. Edits will be overwritten. | |
name: identity-server/ci | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- .config/dotnet-tools.json | |
- .github/workflows/identity-server-** | |
- identity-server/** | |
- .editorconfig | |
- Directory.Packages.props | |
- global.json | |
- src.props | |
- test.props | |
pull_request: | |
paths: | |
- .config/dotnet-tools.json | |
- .github/workflows/identity-server-** | |
- identity-server/** | |
- .editorconfig | |
- Directory.Packages.props | |
- global.json | |
- src.props | |
- test.props | |
env: | |
DOTNET_NOLOGO: true | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
jobs: | |
verify-formatting: | |
name: Verify formatting | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) || (github.event_name == 'push') || (github.event_name == 'workflow_dispatch') | |
runs-on: | |
group: large | |
labels: [ubuntu-latest-x64-16core] | |
permissions: | |
contents: read | |
defaults: | |
run: | |
shell: bash | |
working-directory: identity-server | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: List .net sdks | |
run: dotnet --list-sdks | |
- name: Setup Dotnet | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 | |
with: | |
dotnet-version: |- | |
8.0.x | |
9.0.203 | |
- name: Restore | |
run: dotnet restore identity-server.slnf | |
- name: Verify Formatting | |
run: dotnet format identity-server.slnf --verify-no-changes --no-restore | |
build: | |
name: Build and test (unit) | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) || (github.event_name == 'push') || (github.event_name == 'workflow_dispatch') | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
checks: write | |
contents: read | |
packages: write | |
defaults: | |
run: | |
shell: bash | |
working-directory: identity-server | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: List .net sdks | |
run: dotnet --list-sdks | |
- name: Setup Dotnet | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 | |
with: | |
dotnet-version: |- | |
8.0.x | |
9.0.203 | |
- name: Restore | |
run: dotnet restore identity-server.slnf | |
- name: Build | |
run: dotnet build identity-server.slnf --no-restore -c Release | |
- name: Dotnet devcerts | |
run: dotnet dev-certs https --trust | |
- name: Test - test/Configuration.IntegrationTests | |
run: dotnet test test/Configuration.IntegrationTests -c Release --no-build --logger "console;verbosity=normal" --logger "trx;LogFileName=test/Configuration.IntegrationTests-tests.trx" --collect:"XPlat Code Coverage" | |
- id: test-report-test-Configuration-IntegrationTests | |
name: Test report - test/Configuration.IntegrationTests | |
if: github.event_name == 'push' && (success() || failure()) | |
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 | |
with: | |
name: Test Report - test/Configuration.IntegrationTests | |
path: '**/test/Configuration.IntegrationTests-tests.trx' | |
reporter: dotnet-trx | |
fail-on-error: true | |
fail-on-empty: true | |
- name: Publish test report link | |
run: echo "[Test Results - test/Configuration.IntegrationTests](${{ steps.test-report-test-Configuration-IntegrationTests.outputs.url_html }})" >> $GITHUB_STEP_SUMMARY | |
- name: Test - test/EntityFramework.Storage.UnitTests | |
run: dotnet test test/EntityFramework.Storage.UnitTests -c Release --no-build --logger "console;verbosity=normal" --logger "trx;LogFileName=test/EntityFramework.Storage.UnitTests-tests.trx" --collect:"XPlat Code Coverage" | |
- id: test-report-test-EntityFramework-Storage-UnitTests | |
name: Test report - test/EntityFramework.Storage.UnitTests | |
if: github.event_name == 'push' && (success() || failure()) | |
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 | |
with: | |
name: Test Report - test/EntityFramework.Storage.UnitTests | |
path: '**/test/EntityFramework.Storage.UnitTests-tests.trx' | |
reporter: dotnet-trx | |
fail-on-error: true | |
fail-on-empty: true | |
- name: Publish test report link | |
run: echo "[Test Results - test/EntityFramework.Storage.UnitTests](${{ steps.test-report-test-EntityFramework-Storage-UnitTests.outputs.url_html }})" >> $GITHUB_STEP_SUMMARY | |
- name: Test - test/IdentityServer.IntegrationTests | |
run: dotnet test test/IdentityServer.IntegrationTests -c Release --no-build --logger "console;verbosity=normal" --logger "trx;LogFileName=test/IdentityServer.IntegrationTests-tests.trx" --collect:"XPlat Code Coverage" | |
- id: test-report-test-IdentityServer-IntegrationTests | |
name: Test report - test/IdentityServer.IntegrationTests | |
if: github.event_name == 'push' && (success() || failure()) | |
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 | |
with: | |
name: Test Report - test/IdentityServer.IntegrationTests | |
path: '**/test/IdentityServer.IntegrationTests-tests.trx' | |
reporter: dotnet-trx | |
fail-on-error: true | |
fail-on-empty: true | |
- name: Publish test report link | |
run: echo "[Test Results - test/IdentityServer.IntegrationTests](${{ steps.test-report-test-IdentityServer-IntegrationTests.outputs.url_html }})" >> $GITHUB_STEP_SUMMARY | |
- name: Test - test/IdentityServer.UnitTests | |
run: dotnet test test/IdentityServer.UnitTests -c Release --no-build --logger "console;verbosity=normal" --logger "trx;LogFileName=test/IdentityServer.UnitTests-tests.trx" --collect:"XPlat Code Coverage" | |
- id: test-report-test-IdentityServer-UnitTests | |
name: Test report - test/IdentityServer.UnitTests | |
if: github.event_name == 'push' && (success() || failure()) | |
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 | |
with: | |
name: Test Report - test/IdentityServer.UnitTests | |
path: '**/test/IdentityServer.UnitTests-tests.trx' | |
reporter: dotnet-trx | |
fail-on-error: true | |
fail-on-empty: true | |
- name: Publish test report link | |
run: echo "[Test Results - test/IdentityServer.UnitTests](${{ steps.test-report-test-IdentityServer-UnitTests.outputs.url_html }})" >> $GITHUB_STEP_SUMMARY | |
playwright: | |
name: Playwright tests | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) || (github.event_name == 'push') || (github.event_name == 'workflow_dispatch') | |
runs-on: | |
group: large | |
labels: [ubuntu-latest-x64-16core] | |
permissions: | |
actions: read | |
checks: write | |
contents: read | |
defaults: | |
run: | |
shell: bash | |
working-directory: identity-server | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
codeql: | |
name: CodeQL analyze | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) || (github.event_name == 'push') || (github.event_name == 'workflow_dispatch') | |
runs-on: | |
group: large | |
labels: [ubuntu-latest-x64-16core] | |
defaults: | |
run: | |
shell: bash | |
working-directory: identity-server | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 | |
with: | |
languages: csharp | |
build-mode: manual | |
db-location: ~/.codeql/databases | |
- name: List .net sdks | |
run: dotnet --list-sdks | |
- name: Setup Dotnet | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 | |
with: | |
dotnet-version: |- | |
8.0.x | |
9.0.203 | |
- name: Restore | |
run: dotnet restore identity-server.slnf | |
- name: Build | |
run: dotnet build identity-server.slnf --no-restore -c Release | |
- name: Perform CodeQL Analysis | |
if: ${{ env.DISABLE_CODEQL_ANALYSIS != 'true' }} | |
uses: github/codeql-action/analyze@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 | |
with: | |
category: /language:csharp | |
pack: | |
name: Pack, sign and push | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) || (github.event_name == 'push') || (github.event_name == 'workflow_dispatch') | |
needs: | |
- verify-formatting | |
- build | |
- playwright | |
- codeql | |
runs-on: | |
group: large | |
labels: [ubuntu-latest-x64-16core] | |
permissions: | |
actions: read | |
contents: read | |
packages: write | |
defaults: | |
run: | |
shell: bash | |
working-directory: identity-server | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: List .net sdks | |
run: dotnet --list-sdks | |
- name: Setup Dotnet | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 | |
with: | |
dotnet-version: |- | |
8.0.x | |
9.0.203 | |
- name: Tool restore | |
run: dotnet tool restore | |
- name: Pack identity-server.slnf | |
run: dotnet pack -c Release identity-server.slnf -o artifacts | |
- name: Sign packages | |
if: github.event == 'push' | |
run: |- | |
for file in artifacts/*.nupkg; do | |
dotnet NuGetKeyVaultSignTool sign "$file" --file-digest sha256 --timestamp-rfc3161 http://timestamp.digicert.com --azure-key-vault-url https://duendecodesigninghsm.vault.azure.net/ --azure-key-vault-client-id 18e3de68-2556-4345-8076-a46fad79e474 --azure-key-vault-tenant-id ed3089f0-5401-4758-90eb-066124e2d907 --azure-key-vault-client-secret ${{ secrets.SignClientSecret }} --azure-key-vault-certificate NuGetPackageSigning | |
done | |
- name: Push packages to GitHub | |
if: github.ref == 'refs/heads/main' | |
run: dotnet nuget push artifacts/*.nupkg --source https://nuget.pkg.github.com/DuendeSoftware/index.json --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Artifacts | |
if: github.ref == 'refs/heads/main' | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 | |
with: | |
name: artifacts | |
path: identity-server/artifacts/*.nupkg | |
overwrite: true | |
retention-days: 15 |