Skip to content

Handle case in DefaultSessionCoordinationService where the client might be null in ProcessExpirationAsync #1597

Handle case in DefaultSessionCoordinationService where the client might be null in ProcessExpirationAsync

Handle case in DefaultSessionCoordinationService where the client might be null in ProcessExpirationAsync #1597

# 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