Skip to content

Commit 9183b60

Browse files
authored
feat: dotnet10, Duende 7.4, CIBA & PAR stores (#84)
1 parent ce232ed commit 9183b60

File tree

53 files changed

+1527
-1214
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1527
-1214
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: CI
2+
run-name: CI 🔍 ${{ github.event.pull_request.title }}
3+
4+
on:
5+
pull_request:
6+
7+
concurrency:
8+
group: ci-${{ github.event.pull_request.number }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
tests:
13+
runs-on: ubuntu-latest
14+
name: Tests dotnet ${{ matrix.dotnet-version }} ${{ matrix.project }}
15+
timeout-minutes: 15
16+
strategy:
17+
matrix:
18+
dotnet-version: [8, 10]
19+
project: ['./src/IdentityServer', './src/Server']
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v6
23+
24+
- name: Setup .NET
25+
uses: actions/setup-dotnet@v5
26+
with:
27+
dotnet-version: ${{ matrix.dotnet-version }}
28+
29+
- name: Build projects
30+
shell: bash
31+
working-directory: ${{ matrix.project }}
32+
run: dotnet build ./all.csproj
33+
34+
- name: Run tests
35+
shell: bash
36+
working-directory: ${{ matrix.project }}
37+
run: dotnet test ./all.csproj /p:BuildTestsOnly=true --no-build
38+
39+
build_ui:
40+
runs-on: ubuntu-latest
41+
name: Build UI
42+
timeout-minutes: 15
43+
steps:
44+
- name: Checkout code
45+
uses: actions/checkout@v6
46+
47+
- name: Setup Node.js
48+
uses: actions/setup-node@v6
49+
with:
50+
check-latest: true
51+
node-version-file: 'src/UI/package.json'
52+
cache: 'yarn'
53+
cache-dependency-path: 'src/UI/yarn.lock'
54+
55+
- name: Build UI
56+
shell: bash
57+
run: |
58+
export NODE_OPTIONS=--openssl-legacy-provider
59+
yarn config set strict-ssl false
60+
yarn --cwd src/UI
61+
yarn --cwd src/UI build

.github/workflows/pull-request.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: Release
2+
run-name: Release 🚀 ${{ github.ref_name }}
23

34
on:
45
push:
@@ -8,20 +9,27 @@ on:
89
jobs:
910
release:
1011
runs-on: ubuntu-latest
11-
12+
strategy:
13+
matrix:
14+
project: ['./src/IdentityServer', './src/Server']
1215
steps:
1316
- name: Checkout code
14-
uses: actions/checkout@v4
15-
- name: Use .NET SDK from global.json
16-
uses: actions/setup-dotnet@v4
17+
uses: actions/checkout@v6
18+
19+
- name: Setup .NET
20+
uses: actions/setup-dotnet@v5
21+
1722
- name: Setup Node.js
18-
uses: actions/setup-node@v4
23+
uses: actions/setup-node@v6
1924
with:
2025
check-latest: true
2126
node-version-file: 'src/UI/package.json'
2227
cache: 'yarn'
2328
cache-dependency-path: 'src/UI/yarn.lock'
29+
2430
- name: Build UI
31+
shell: bash
32+
if: matrix.project == './src/Server'
2533
run: |
2634
export NODE_OPTIONS=--openssl-legacy-provider
2735
yarn config set strict-ssl false
@@ -30,28 +38,40 @@ jobs:
3038
rm -rf src/Server/src/AspNet/UI
3139
mkdir src/Server/src/AspNet/UI/
3240
cp -rf src/UI/dist/* src/Server/src/AspNet/UI
41+
42+
- name: Build projects
3343
shell: bash
34-
- name: Build, Test and Push
35-
uses: swisslife-oss/actions/release-packages@main
36-
with:
37-
tag: ${{ github.ref_name }}
38-
nuget_api_key: ${{ secrets.NUGET_API_KEY }}
39-
enable_push: 'yes'
44+
working-directory: ${{ matrix.project }}
45+
run: dotnet build ./all.csproj -c Release
4046

41-
sonar:
42-
runs-on: ubuntu-latest
43-
steps:
44-
- name: Checkout code
45-
uses: actions/checkout@v4
46-
- name: Setup .NET
47-
uses: actions/setup-dotnet@v4
48-
- name: Restore tools
49-
run: dotnet tool restore
50-
- name: Build, Test and Sonar
51-
uses: swisslife-oss/actions/release-sonar@main
52-
with:
53-
tag: ${{ github.ref_name }}
54-
sonar_token: ${{ secrets.SONAR_TOKEN }}
55-
sonar_project_key: 'SwissLife-OSS_IdOps'
56-
sonar_project_name: "IdOps"
57-
sonar_exclusions: ${{ vars.SONAR_EXCLUSIONS }}
47+
- name: Extract version
48+
id: extract_version
49+
shell: bash
50+
run: |
51+
PACKAGE_VERSION="${{ github.ref_name }}"
52+
ASSEMBLY_VERSION="$(echo ${{ github.ref_name }} | grep -o '^[0-9]*\.[0-9]*\.[0-9]*').0"
53+
echo "package_version=$PACKAGE_VERSION" >> $GITHUB_OUTPUT
54+
echo "assembly_version=$ASSEMBLY_VERSION" >> $GITHUB_OUTPUT
55+
echo "Package Version: $PACKAGE_VERSION"
56+
echo "Assembly Version: $ASSEMBLY_VERSION"
57+
58+
- name: Pack
59+
shell: bash
60+
working-directory: ${{ matrix.project }}
61+
run: |
62+
dotnet pack ./all.csproj \
63+
-c Release \
64+
-o ./out \
65+
--no-build \
66+
--include-symbols \
67+
--include-source \
68+
--verbosity Minimal \
69+
/p:Version=${{ steps.extract_version.outputs.package_version }} \
70+
/p:AssemblyVersion=${{ steps.extract_version.outputs.assembly_version }} \
71+
/p:FileVersion=${{ steps.extract_version.outputs.assembly_version }}
72+
73+
- name: Push
74+
shell: bash
75+
working-directory: ${{ matrix.project }}
76+
run: |
77+
find . -name '*.nupkg' | grep -v '.sources.nupkg' | parallel --jobs 0 'dotnet nuget push {} --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json'

0 commit comments

Comments
 (0)