Skip to content

Commit 8065c3d

Browse files
authored
Merge pull request #9215 from bitfoundation/develop
Version 8.12.0 (#9161)
2 parents 7e3a6bf + 3921e93 commit 8065c3d

File tree

1,088 files changed

+41762
-17987
lines changed

Some content is hidden

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

1,088 files changed

+41762
-17987
lines changed

.devcontainer/devcontainer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"hostRequirements": {
44
"cpus": 4
55
},
6-
"onCreateCommand": "wget https://download.visualstudio.microsoft.com/download/pr/db901b0a-3144-4d07-b8ab-6e7a43e7a791/4d9d1b39b879ad969c6c0ceb6d052381/dotnet-sdk-8.0.401-linux-x64.tar.gz -O $HOME/dotnet.tar.gz && export DOTNET_ROOT=$HOME/.dotnet && mkdir -p \"$DOTNET_ROOT\" && tar zxf $HOME/dotnet.tar.gz -C \"$DOTNET_ROOT\" && export PATH=$DOTNET_ROOT:$DOTNET_ROOT/tools:$PATH && dotnet dev-certs https --trust && find . -type f -name '*.csproj' -exec sed -i 's/Microsoft.NET.Sdk.BlazorWebAssembly/Microsoft.NET.Sdk.Web/g' {} \\;",
6+
"onCreateCommand": "wget https://download.visualstudio.microsoft.com/download/pr/1ebffeb0-f090-4001-9f13-69f112936a70/5dbc249b375cca13ec4d97d48ea93b28/dotnet-sdk-8.0.402-linux-x64.tar.gz -O $HOME/dotnet.tar.gz && export DOTNET_ROOT=$HOME/.dotnet && mkdir -p \"$DOTNET_ROOT\" && tar zxf $HOME/dotnet.tar.gz -C \"$DOTNET_ROOT\" && export PATH=$DOTNET_ROOT:$DOTNET_ROOT/tools:$PATH && dotnet dev-certs https --trust && find . -type f -name '*.csproj' -exec sed -i 's/Microsoft.NET.Sdk.BlazorWebAssembly/Microsoft.NET.Sdk.Web/g' {} \\;",
77
"waitFor": "onCreateCommand",
88
"customizations": {
99
"codespaces": {

.github/workflows/admin-sample.cd.yml

+33-23
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
build_api_blazor:
2121
name: build api + blazor web
22-
runs-on: ubuntu-22.04
22+
runs-on: ubuntu-24.04
2323

2424
steps:
2525

@@ -36,26 +36,25 @@ jobs:
3636
cd src/Templates/Boilerplate && dotnet build -c Release
3737
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
3838
dotnet new install Bit.Boilerplate.0.0.0.nupkg
39-
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage --api Standalone
39+
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage --api Standalone --notification --captcha reCaptcha --signalR
4040
4141
- name: Update core appsettings.json
4242
uses: devops-actions/[email protected]
4343
with:
44-
files: 'AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Shared/appsettings.json'
44+
files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.Production.json'
4545
env:
4646
ServerAddress: ${{ env.API_SERVER_ADDRESS }}
47+
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }}
48+
WebAppRender.BlazorMode: BlazorWebAssembly
4749
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
50+
AdsPushVapid.PublicKey: ${{ secrets.ADMINPANEL_PUBLIC_VAPIDKEY }}
4851

4952
- uses: actions/setup-node@v4
5053
with:
51-
node-version: 20
54+
node-version: 22
5255

5356
- name: Install wasm
5457
run: cd src && dotnet workload install wasm-tools
55-
56-
- name: Configure app render mode
57-
run: |
58-
sed -i 's/BlazorAuto;/BlazorWebAssembly;/g' AdminPanel/src/Client/AdminPanel.Client.Core/Services/AppRenderMode.cs
5958

6059
- name: Generate CSS/JS files
6160
run: dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
@@ -72,18 +71,19 @@ jobs:
7271
- name: Publish adminpanel blazor wasm standalone
7372
run: |
7473
sed -i 's/adminpanel.bitplatform.dev/adminpanel-api.bitplatform.dev/g' AdminPanel/src/Client/AdminPanel.Client.Web/wwwroot/index.html
75-
dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -p:BlazorWebAssemblyStandalone=true -o ${{env.DOTNET_ROOT}}/static
74+
dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -p:PwaEnabled=true -o ${{env.DOTNET_ROOT}}/static -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}"
7675
7776
- name: Upload static artifact
7877
uses: actions/upload-artifact@v4
7978
with:
8079
name: static-bundle
8180
path: ${{env.DOTNET_ROOT}}/static
81+
include-hidden-files: true # Required for wwwroot/.well-known folder
8282

8383
deploy_api_blazor:
8484
name: deploy api + blazor
8585
needs: build_api_blazor
86-
runs-on: ubuntu-22.04
86+
runs-on: ubuntu-24.04
8787
environment:
8888
name: 'production'
8989
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
@@ -137,22 +137,23 @@ jobs:
137137

138138
- uses: actions/setup-node@v4
139139
with:
140-
node-version: 20
140+
node-version: 22
141141

142142
- name: Create project from Boilerplate
143143
run: |
144144
cd src\Templates\Boilerplate && dotnet build -c Release
145145
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
146146
dotnet new install Bit.Boilerplate.0.0.0.nupkg
147-
cd ..\..\..\ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --windows --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage
147+
cd ..\..\..\ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --windows --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage --captcha reCaptcha --signalR
148148
149149
- name: Update core appsettings.json
150150
uses: devops-actions/[email protected]
151151
with:
152-
files: 'AdminPanel\src\Client\AdminPanel.Client.Core\appsettings.json, AdminPanel\src\Shared\appsettings.json'
152+
files: 'AdminPanel\src\Shared\appsettings.json, AdminPanel\src\Client\AdminPanel.Client.Core\appsettings.json, AdminPanel\src\Client\AdminPanel.Client.Windows\appsettings.json'
153153
env:
154154
ServerAddress: ${{ env.API_SERVER_ADDRESS }}
155-
WindowsUpdateSettings.FilesUrl: https://windows-adminpanel.bitplatform.dev
155+
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }}
156+
WindowsUpdate.FilesUrl: https://windows-adminpanel.bitplatform.dev
156157
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
157158

158159
- name: Generate CSS/JS files
@@ -188,7 +189,7 @@ jobs:
188189

189190
build_blazor_hybrid_android:
190191
name: build blazor hybrid (android)
191-
runs-on: ubuntu-22.04
192+
runs-on: ubuntu-24.04
192193

193194
steps:
194195

@@ -205,25 +206,33 @@ jobs:
205206
cd src/Templates/Boilerplate && dotnet build -c Release
206207
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
207208
dotnet new install Bit.Boilerplate.0.0.0.nupkg
208-
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage
209+
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage --notification --captcha reCaptcha --signalR
209210
210211
- uses: actions/setup-node@v4
211212
with:
212-
node-version: 20
213+
node-version: 22
213214

214215
- name: Extract Android signing key from env
215216
uses: timheuer/[email protected]
216217
with:
217218
fileDir: './AdminPanel/src/Client/AdminPanel.Client.Maui/'
218219
fileName: 'AdminPanel.keystore'
219220
encodedString: ${{ secrets.ANDROID_RELEASE_KEYSTORE_FILE_BASE64 }}
221+
222+
- name: Extract Android signing key from env
223+
uses: timheuer/[email protected]
224+
with:
225+
fileDir: './AdminPanel/src/Client/AdminPanel.Client.Maui/Platforms/Android'
226+
fileName: 'google-services.json'
227+
encodedString: ${{ secrets.ADMINPANEL_GOOGLE_SERVICES_JSON_BASE64 }}
220228

221229
- name: Update core appsettings.json
222230
uses: devops-actions/[email protected]
223231
with:
224-
files: 'AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Shared/appsettings.json'
232+
files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Maui/appsettings.json'
225233
env:
226234
ServerAddress: ${{ env.API_SERVER_ADDRESS }}
235+
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }}
227236
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
228237

229238
- name: Set app center secret
@@ -252,7 +261,7 @@ jobs:
252261

253262
build_blazor_hybrid_ios:
254263
name: build blazor hybrid (iOS-macOS)
255-
runs-on: macos-14
264+
runs-on: macOS-15
256265

257266
steps:
258267

@@ -266,25 +275,26 @@ jobs:
266275

267276
- uses: maxim-lobanov/[email protected]
268277
with:
269-
xcode-version: '15.4'
278+
xcode-version: '16.0'
270279

271280
- uses: actions/setup-node@v4
272281
with:
273-
node-version: 20
282+
node-version: 22
274283

275284
- name: Create project from Boilerplate
276285
run: |
277286
cd src/Templates/Boilerplate && dotnet build -c Release
278287
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
279288
dotnet new install Bit.Boilerplate.0.0.0.nupkg
280-
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage
289+
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage --notification --captcha reCaptcha --signalR
281290
282291
- name: Update core appsettings.json
283292
uses: devops-actions/[email protected]
284293
with:
285-
files: 'AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Shared/appsettings.json'
294+
files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Maui/appsettings.json'
286295
env:
287296
ServerAddress: ${{ env.API_SERVER_ADDRESS }}
297+
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }}
288298
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
289299

290300
- name: Set app center secret

.github/workflows/bit.ci.yml

+20-6
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
build-release:
99
if: startsWith(github.event.pull_request.title, 'Prerelease') || startsWith(github.event.pull_request.title, 'Release') || startsWith(github.event.pull_request.title, 'Version')
1010
name: build and test for release
11-
runs-on: ubuntu-22.04
11+
runs-on: ubuntu-24.04
1212

1313
steps:
1414

@@ -19,17 +19,24 @@ jobs:
1919
uses: actions/setup-dotnet@v4
2020
with:
2121
global-json-file: src/global.json
22+
23+
- name: Setup .NET 6,7
24+
uses: actions/setup-dotnet@v4
25+
with:
26+
dotnet-version: |
27+
6.0.x
28+
7.0.x
2229
2330
- uses: actions/setup-node@v4
2431
with:
25-
node-version: 20
32+
node-version: 22
2633

2734
- name: Install wasm and maui
2835
run: cd src && dotnet workload install maui-android wasm-tools
2936

3037
- name: Run BeforeBuildTasks
3138
continue-on-error: true # Error MSB4057, not all csproj files have BeforeBuildTasks target.
32-
run: dotnet build src/Bit-CI-release.sln -t:BeforeBuildTasks -m:1
39+
run: dotnet build src/Bit-CI-release.sln -t:BeforeBuildTasks -m:1 -f net8.0
3340

3441
- name: MSBuild prerelease
3542
run: dotnet build src/Bit-CI-release.sln
@@ -40,7 +47,7 @@ jobs:
4047
build:
4148
if: startsWith(github.event.pull_request.title, 'Prerelease') != true && startsWith(github.event.pull_request.title, 'Release') != true && startsWith(github.event.pull_request.title, 'Version') != true
4249
name: build and test
43-
runs-on: ubuntu-22.04
50+
runs-on: ubuntu-24.04
4451

4552
steps:
4653

@@ -51,10 +58,17 @@ jobs:
5158
uses: actions/setup-dotnet@v4
5259
with:
5360
global-json-file: src/global.json
61+
62+
- name: Setup .NET 6,7
63+
uses: actions/setup-dotnet@v4
64+
with:
65+
dotnet-version: |
66+
6.0.x
67+
7.0.x
5468
5569
- uses: actions/setup-node@v4
5670
with:
57-
node-version: 20
71+
node-version: 22
5872

5973
- name: Install wasm and maui
6074
run: cd src && dotnet workload install maui-android wasm-tools
@@ -64,7 +78,7 @@ jobs:
6478

6579
- name: Run BeforeBuildTasks
6680
continue-on-error: true # Error MSB4057, not all csproj files have BeforeBuildTasks target.
67-
run: dotnet build src/Bit-CI.sln -t:BeforeBuildTasks -m:1
81+
run: dotnet build src/Bit-CI.sln -t:BeforeBuildTasks -m:1 -f net8.0
6882

6983
- name: Build
7084
run: dotnet build src/Bit-CI.sln -p:WarningLevel=0 -p:RunCodeAnalysis=false

0 commit comments

Comments
 (0)