Update .NET 10 from Release Candidate to GA

Update FOSS dependencies to their Release Candidate counterparts
This commit is contained in:
Pieter Germishuys 2025-11-12 14:39:56 +01:00
parent ba91078275
commit e9785ccd68
11 changed files with 49 additions and 932 deletions

View file

@ -7,21 +7,11 @@ var contexts = GitHubContexts.Instance;
var products = new Product[]
{
new("aspnetcore-authentication-jwtbearer",
"aspnetcore-authentication-jwtbearer.slnf",
"aaj",
["AspNetCore.Authentication.JwtBearer.Tests"],
[]),
new("bff",
"bff.slnf",
"bff",
["Bff.Tests"],
["Hosts.Tests"]),
new("identity-server",
"identity-server.slnf",
"is",
["IdentityServer.IntegrationTests", "IdentityServer.UnitTests"],
["IdentityServer.EndToEndTests"])
["Hosts.Tests"])
};
foreach (var product in products)
{

View file

@ -18,7 +18,7 @@ public static class StepExtensions
job.Step()
.Name("Setup .NET")
.ActionsSetupDotNet("3e891b0cb619bf60e2c25674b222b8940e2c1c25", ["8.0.x", "9.0.203", "10.0.100-rc.2.25502.107"]);
.ActionsSetupDotNet("3e891b0cb619bf60e2c25674b222b8940e2c1c25", ["8.0.x", "9.0.203", "10.0.100"]);
// v4.1.0
}

View file

@ -1,227 +0,0 @@
# This was generated by tool. Edits will be overwritten.
name: aspnetcore-authentication-jwtbearer/ci
on:
workflow_dispatch:
push:
paths:
- .config/dotnet-tools.json
- .github/workflows/aspnetcore-authentication-jwtbearer-**
- aspnetcore-authentication-jwtbearer/**
- .editorconfig
- Directory.Packages.props
- global.json
- src.props
- test.props
pull_request:
paths:
- .config/dotnet-tools.json
- .github/workflows/aspnetcore-authentication-jwtbearer-**
- aspnetcore-authentication-jwtbearer/**
- .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: aspnetcore-authentication-jwtbearer
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
10.0.100-rc.2.25502.107
- name: Restore
run: dotnet restore aspnetcore-authentication-jwtbearer.slnf
- name: Verify Formatting
run: dotnet format aspnetcore-authentication-jwtbearer.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: aspnetcore-authentication-jwtbearer
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
10.0.100-rc.2.25502.107
- name: Restore
run: dotnet restore aspnetcore-authentication-jwtbearer.slnf
- name: Build
run: dotnet build aspnetcore-authentication-jwtbearer.slnf --no-restore -c Release
- name: Dotnet devcerts
run: dotnet dev-certs https --trust
- name: Test - test/AspNetCore.Authentication.JwtBearer.Tests
run: dotnet test test/AspNetCore.Authentication.JwtBearer.Tests -c Release --no-build --logger "console;verbosity=normal" --logger "trx;LogFileName=test/AspNetCore.Authentication.JwtBearer.Tests-tests.trx" --collect:"XPlat Code Coverage"
- id: test-report-test-AspNetCore-Authentication-JwtBearer-Tests
name: Test report - test/AspNetCore.Authentication.JwtBearer.Tests
if: github.event_name == 'push' && (success() || failure())
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5
with:
name: Test Report - test/AspNetCore.Authentication.JwtBearer.Tests
path: '**/test/AspNetCore.Authentication.JwtBearer.Tests-tests.trx'
reporter: dotnet-trx
fail-on-error: true
fail-on-empty: true
- name: Publish test report link
run: echo "[Test Results - test/AspNetCore.Authentication.JwtBearer.Tests](${{ steps.test-report-test-AspNetCore-Authentication-JwtBearer-Tests.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: aspnetcore-authentication-jwtbearer
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
codeql:
name: CodeQL analyze
# Remove once https://github.com/github/codeql-action/issues/3207#issuecomment-3405956414 has been resolved
if: false && ((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: aspnetcore-authentication-jwtbearer
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
debug: true
- 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
10.0.100-rc.2.25502.107
- name: Restore
run: dotnet restore aspnetcore-authentication-jwtbearer.slnf
- name: Build
run: dotnet build aspnetcore-authentication-jwtbearer.slnf --no-restore --no-incremental -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: aspnetcore-authentication-jwtbearer
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
10.0.100-rc.2.25502.107
- name: Tool restore
run: dotnet tool restore
- name: Pack aspnetcore-authentication-jwtbearer.slnf
run: dotnet pack -c Release aspnetcore-authentication-jwtbearer.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: aspnetcore-authentication-jwtbearer/artifacts/*.nupkg
overwrite: true
retention-days: 15

View file

@ -1,118 +0,0 @@
# This was generated by tool. Edits will be overwritten.
name: aspnetcore-authentication-jwtbearer/release
on:
workflow_dispatch:
inputs:
version:
description: 'Version in format X.Y.Z, X.Y.Z-preview.N, or X.Y.Z-rc.N'
type: string
required: true
default: '0.0.0'
branch:
description: '(Optional) the name of the branch to release from'
type: string
required: false
default: 'main'
remove-tag-if-exists:
description: 'If set, will remove the existing tag. Use this if you have issues with the previous release action'
type: boolean
required: false
default: false
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
jobs:
tag:
name: Tag and Pack
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
defaults:
run:
shell: bash
working-directory: aspnetcore-authentication-jwtbearer
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Validate Version Input
run: echo '${{ github.event.inputs.version }}' | grep -P '^\d+\.\d+\.\d+(-preview\.\d+|-rc\.\d+)?$' || (echo 'Invalid version format' && exit 1)
- name: Checkout target branch
if: github.event.inputs.branch != 'main'
run: git checkout ${{ github.event.inputs.branch }}
- name: Git Config
run: |-
git config --global user.email "github-bot@duendesoftware.com"
git config --global user.name "Duende Software GitHub Bot"
- name: Git Config
if: github.event.inputs['remove-tag-if-exists'] == 'true'
run: |-
if git rev-parse aaj-${{ github.event.inputs.version }} >/dev/null 2>&1; then
git tag -d aaj-${{ github.event.inputs.version }}
git push --delete origin aaj-${{ github.event.inputs.version }}
else
echo 'Tag aaj-${{ github.event.inputs.version }} does not exist.'
fi
- name: Git Config
run: |-
git tag -a aaj-${{ github.event.inputs.version }} -m "Release v${{ github.event.inputs.version }}"
git push origin aaj-${{ github.event.inputs.version }}
- 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
10.0.100-rc.2.25502.107
- name: Pack aspnetcore-authentication-jwtbearer.slnf
run: dotnet pack -c Release aspnetcore-authentication-jwtbearer.slnf -o artifacts
- name: Tool restore
run: dotnet tool restore
- name: Sign packages
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
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
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: artifacts
path: aspnetcore-authentication-jwtbearer/artifacts/*.nupkg
overwrite: true
retention-days: 15
publish:
name: Publish to nuget.org
needs:
- tag
runs-on: ubuntu-latest
environment:
name: nuget.org
steps:
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
with:
name: artifacts
path: artifacts
- 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
10.0.100-rc.2.25502.107
- name: List files
run: tree
shell: bash
- name: Push packages to nuget.org
run: dotnet nuget push artifacts/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_ORG_API_KEY }} --skip-duplicate

View file

@ -53,7 +53,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: Restore
run: dotnet restore bff.slnf
- name: Verify Formatting
@ -85,7 +85,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: Restore
run: dotnet restore bff.slnf
- name: Build
@ -134,7 +134,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: Restore
run: dotnet restore bff.slnf
- name: Build
@ -202,7 +202,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: Restore
run: dotnet restore bff.slnf
- name: Build
@ -245,7 +245,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: Tool restore
run: dotnet tool restore
- name: Pack bff.slnf

View file

@ -68,7 +68,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: Pack bff.slnf
run: dotnet pack -c Release bff.slnf -o artifacts
- name: Tool restore
@ -110,7 +110,7 @@ jobs:
dotnet-version: |-
8.0.x
9.0.203
10.0.100-rc.2.25502.107
10.0.100
- name: List files
run: tree
shell: bash

View file

@ -1,286 +0,0 @@
# 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
10.0.100-rc.2.25502.107
- 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
10.0.100-rc.2.25502.107
- 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/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
- 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
10.0.100-rc.2.25502.107
- name: Restore
run: dotnet restore identity-server.slnf
- name: Build
run: dotnet build identity-server.slnf --no-restore -c Release
- id: playwright-cache
name: Cache Playwright assets
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('**/Hosts.Tests.csproj') }}
restore-keys: playwright-${{ runner.os }}-
- name: Install Playwright
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: pwsh test/IdentityServer.EndToEndTests/bin/Release/net10.0/playwright.ps1 install --with-deps
- name: Dotnet devcerts
run: dotnet dev-certs https --trust
- name: Test - test/IdentityServer.EndToEndTests
run: dotnet test test/IdentityServer.EndToEndTests -c Release --no-build --logger "console;verbosity=normal" --logger "trx;LogFileName=test/IdentityServer.EndToEndTests-tests.trx" --collect:"XPlat Code Coverage"
- id: test-report-test-IdentityServer-EndToEndTests
name: Test report - test/IdentityServer.EndToEndTests
if: github.event_name == 'push' && (success() || failure())
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5
with:
name: Test Report - test/IdentityServer.EndToEndTests
path: '**/test/IdentityServer.EndToEndTests-tests.trx'
reporter: dotnet-trx
fail-on-error: true
fail-on-empty: true
- name: Publish test report link
run: echo "[Test Results - test/IdentityServer.EndToEndTests](${{ steps.test-report-test-IdentityServer-EndToEndTests.outputs.url_html }})" >> $GITHUB_STEP_SUMMARY
- name: Upload playwright traces
if: success() || failure()
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: playwright-traces
path: identity-server/test/**/playwright-traces/*.zip
overwrite: true
retention-days: 15
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
10.0.100-rc.2.25502.107
- 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
10.0.100-rc.2.25502.107
- 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

View file

@ -1,118 +0,0 @@
# This was generated by tool. Edits will be overwritten.
name: identity-server/release
on:
workflow_dispatch:
inputs:
version:
description: 'Version in format X.Y.Z, X.Y.Z-preview.N, or X.Y.Z-rc.N'
type: string
required: true
default: '0.0.0'
branch:
description: '(Optional) the name of the branch to release from'
type: string
required: false
default: 'main'
remove-tag-if-exists:
description: 'If set, will remove the existing tag. Use this if you have issues with the previous release action'
type: boolean
required: false
default: false
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
jobs:
tag:
name: Tag and Pack
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
defaults:
run:
shell: bash
working-directory: identity-server
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Validate Version Input
run: echo '${{ github.event.inputs.version }}' | grep -P '^\d+\.\d+\.\d+(-preview\.\d+|-rc\.\d+)?$' || (echo 'Invalid version format' && exit 1)
- name: Checkout target branch
if: github.event.inputs.branch != 'main'
run: git checkout ${{ github.event.inputs.branch }}
- name: Git Config
run: |-
git config --global user.email "github-bot@duendesoftware.com"
git config --global user.name "Duende Software GitHub Bot"
- name: Git Config
if: github.event.inputs['remove-tag-if-exists'] == 'true'
run: |-
if git rev-parse is-${{ github.event.inputs.version }} >/dev/null 2>&1; then
git tag -d is-${{ github.event.inputs.version }}
git push --delete origin is-${{ github.event.inputs.version }}
else
echo 'Tag is-${{ github.event.inputs.version }} does not exist.'
fi
- name: Git Config
run: |-
git tag -a is-${{ github.event.inputs.version }} -m "Release v${{ github.event.inputs.version }}"
git push origin is-${{ github.event.inputs.version }}
- 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
10.0.100-rc.2.25502.107
- name: Pack identity-server.slnf
run: dotnet pack -c Release identity-server.slnf -o artifacts
- name: Tool restore
run: dotnet tool restore
- name: Sign packages
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
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
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: artifacts
path: identity-server/artifacts/*.nupkg
overwrite: true
retention-days: 15
publish:
name: Publish to nuget.org
needs:
- tag
runs-on: ubuntu-latest
environment:
name: nuget.org
steps:
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
with:
name: artifacts
path: artifacts
- 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
10.0.100-rc.2.25502.107
- name: List files
run: tree
shell: bash
- name: Push packages to nuget.org
run: dotnet nuget push artifacts/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_ORG_API_KEY }} --skip-duplicate

View file

@ -1,118 +0,0 @@
# This was generated by tool. Edits will be overwritten.
name: templates/release
on:
workflow_dispatch:
inputs:
version:
description: 'Version in format X.Y.Z, X.Y.Z-preview.N, or X.Y.Z-rc.N'
type: string
required: true
default: '0.0.0'
branch:
description: '(Optional) the name of the branch to release from'
type: string
required: false
default: 'main'
remove-tag-if-exists:
description: 'If set, will remove the existing tag. Use this if you have issues with the previous release action'
type: boolean
required: false
default: false
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
jobs:
tag:
name: Tag and Pack
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
defaults:
run:
shell: bash
working-directory: templates
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
10.0.100-rc.2.25502.107
- name: Checkout target branch
if: github.event.inputs.branch != 'main'
run: git checkout ${{ github.event.inputs.branch }}
- name: Git Config
run: |-
git config --global user.email "github-bot@duendesoftware.com"
git config --global user.name "Duende Software GitHub Bot"
- name: Git Config
if: github.event.inputs['remove-tag-if-exists'] == 'true'
run: |-
if git rev-parse templates-${{ github.event.inputs.version }} >/dev/null 2>&1; then
git tag -d templates-${{ github.event.inputs.version }}
git push --delete origin templates-${{ github.event.inputs.version }}
else
echo 'Tag templates-${{ github.event.inputs.version }} does not exist.'
fi
- name: Git Config
run: |-
git tag -a templates-${{ github.event.inputs.version }} -m "Release v${{ github.event.inputs.version }}"
git push origin templates-${{ github.event.inputs.version }}
- name: Tool restore
run: dotnet tool restore
- name: build templates
run: dotnet run --project build
- name: Pack ../artifacts/templates.csproj
run: dotnet pack -c Release ../artifacts/templates.csproj -o artifacts
- name: Sign packages
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
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
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: artifacts
path: templates/artifacts/*.nupkg
overwrite: true
retention-days: 15
publish:
name: Publish to nuget.org
needs:
- tag
runs-on: ubuntu-latest
environment:
name: nuget.org
steps:
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
with:
name: artifacts
path: artifacts
- 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
10.0.100-rc.2.25502.107
- name: List files
run: tree
shell: bash
- name: Push packages to nuget.org
run: dotnet nuget push artifacts/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_ORG_API_KEY }} --skip-duplicate

View file

@ -1,36 +1,32 @@
<!-- We have agreed to explicitly target where possible version 10 of the package(s)
that supports the target frameworks our products target (8, 9, 10) -->
<Project>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net8.0'">
<FrameworkVersion>8.0.1</FrameworkVersion>
<!-- Package Versions Note:
These versions are here because they don't explicitly have a version 10 of the package that supports .NET 8, 9 and 10 -->
<EFCoreVersion>9.0.9</EFCoreVersion>
<IdentityEFCoreVersion>8.0.20</IdentityEFCoreVersion>
<RuntimeCompilationVersion>8.0.20</RuntimeCompilationVersion>
<MvcRazorRuntimeCompilationVersion>8.0.20</MvcRazorRuntimeCompilationVersion>
<AuthenticationCertificateVersion>8.0.16</AuthenticationCertificateVersion>
<!-- /End Note -->
<IdentityModelVersion>7.1.2</IdentityModelVersion>
<CachingMemoryVersion>9.0.3</CachingMemoryVersion>
<SystemTextJsonVersion>9.0.9</SystemTextJsonVersion>
<LoggingAbstractionsVersion>9.0.9</LoggingAbstractionsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net9.0'">
<FrameworkVersion>9.0.3</FrameworkVersion>
<EFCoreVersion>9.0.9</EFCoreVersion>
<IdentityEFCoreVersion>9.0.3</IdentityEFCoreVersion>
<RuntimeCompilationVersion>9.0.3</RuntimeCompilationVersion>
<MvcRazorRuntimeCompilationVersion>9.0.3</MvcRazorRuntimeCompilationVersion>
<AuthenticationCertificateVersion>9.0.3</AuthenticationCertificateVersion>
<IdentityModelVersion>8.0.1</IdentityModelVersion>
<CachingMemoryVersion>9.0.3</CachingMemoryVersion>
<SystemTextJsonVersion>9.0.9</SystemTextJsonVersion>
<LoggingAbstractionsVersion>9.0.9</LoggingAbstractionsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net10.0'">
<FrameworkVersion>10.0.0-rc.2.25502.107</FrameworkVersion>
<EFCoreVersion>10.0.0-rc.2.25502.107</EFCoreVersion>
<IdentityEFCoreVersion>10.0.0-rc.2.25502.107</IdentityEFCoreVersion>
<RuntimeCompilationVersion>10.0.0-rc.2.25502.107</RuntimeCompilationVersion>
<AuthenticationCertificateVersion>10.0.0-rc.2.25502.107</AuthenticationCertificateVersion>
<FrameworkVersion>10.0.0</FrameworkVersion>
<EFCoreVersion>10.0.0</EFCoreVersion>
<IdentityEFCoreVersion>10.0.0</IdentityEFCoreVersion>
<MvcRazorRuntimeCompilationVersion>10.0.0</MvcRazorRuntimeCompilationVersion>
<AuthenticationCertificateVersion>10.0.0</AuthenticationCertificateVersion>
<IdentityModelVersion>8.0.1</IdentityModelVersion>
<CachingMemoryVersion>10.0.0-rc.2.25502.107</CachingMemoryVersion>
<SystemTextJsonVersion>10.0.0-rc.2.25502.107</SystemTextJsonVersion>
<LoggingAbstractionsVersion>10.0.0-rc.2.25502.107</LoggingAbstractionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="AngleSharp" Version="1.1.2" />
@ -42,15 +38,16 @@
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
<!-- Added aspire transitive package to resolve package vulnerability -->
<PackageVersion Include="KubernetesClient" Version="17.0.14" />
<PackageVersion Include="Duende.AccessTokenManagement" Version="4.1.0-preview.2" />
<PackageVersion Include="Duende.AccessTokenManagement.OpenIdConnect" Version="4.1.0-preview.2" />
<PackageVersion Include="Duende.AccessTokenManagement" Version="4.1.0-rc.1" />
<PackageVersion Include="Duende.AccessTokenManagement.OpenIdConnect" Version="4.1.0-rc.1" />
<PackageVersion Include="Duende.AspNetCore.Authentication.JwtBearer" Version="0.1.3" />
<PackageVersion Include="Duende.IdentityModel" Version="8.0.0-preview.1" />
<PackageVersion Include="Duende.IdentityModel.OidcClient" Version="7.0.0-preview.2" />
<PackageVersion Include="Duende.IdentityModel" Version="8.0.0-rc.1" />
<PackageVersion Include="Duende.IdentityModel.OidcClient" Version="7.0.0-rc.1" />
<PackageVersion Include="Duende.IdentityServer" Version="7.4.0-preview.2" />
<PackageVersion Include="Duende.Private.Licensing" Version="1.0.0" />
<PackageVersion Include="IdentityModel.AspNetCore.OAuth2Introspection" Version="6.2.0" />
<PackageVersion Include="Meziantou.Extensions.Logging.Xunit" Version="1.0.8" />
<!-- Review Packages -->
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Certificate" Version="$(AuthenticationCertificateVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(FrameworkVersion)" />
@ -58,10 +55,9 @@
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Authorization" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Identity" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="10.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="$(IdentityEFCoreVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="$(RuntimeCompilationVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="$(MvcRazorRuntimeCompilationVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
@ -71,30 +67,28 @@
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="$(EFCoreVersion)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="$(EFCoreVersion)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="$(EFCoreVersion)" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="$(FrameworkVersion)" />
<!-- TODO - Upgrade hybrid cache-->
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="$(CachingMemoryVersion)" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="9.9.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="$(FrameworkVersion)" />
<!-- TODO - Upgrade diagnostics.testing-->
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="8.10.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="9.9.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="$(LoggingAbstractionsVersion)" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="$(LoggingAbstractionsVersion)" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="$(LoggingAbstractionsVersion)" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(FrameworkVersion)" />
<PackageVersion Include="Microsoft.Extensions.Primitives" Version="$(FrameworkVersion)" />
<!-- TODO - Upgrade service discovery and timeprovider.testing-->
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="9.1.0" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="9.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="$(EFCoreVersion)" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Primitives" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.0.0" />
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="$(IdentityModelVersion)" />
<PackageVersion Include="Microsoft.IdentityModel.Logging" Version="$(IdentityModelVersion)" />
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="$(IdentityModelVersion)" />
<PackageVersion Include="Microsoft.Net.Http.Headers" Version="9.0.6" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageVersion Include="Microsoft.NETCore.Jit" Version="2.0.8" />
<PackageVersion Include="Microsoft.Playwright.Xunit" Version="1.50.0" />
@ -126,7 +120,7 @@
<PackageVersion Include="SimpleExec" Version="12.0.0" />
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="$(IdentityModelVersion)" />
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
<PackageVersion Include="System.Text.Json" Version="$(SystemTextJsonVersion)" />
<PackageVersion Include="System.Text.Json" Version="10.0.0" />
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageVersion Include="xunit.core" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />

2
global.json vendored
View file

@ -1,6 +1,6 @@
{
"sdk": {
"version": "10.0.100-rc.2.25502.107",
"version": "10.0.100",
"rollForward": "latestMajor",
"allowPrerelease": true
}