Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .github/workflows/admin-sample.cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ jobs:
run: dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APP_VERSION}}" -p:WasmEnableSIMD=true --no-restore -c Release

- name: Publish
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -o client -p:WasmEnableSIMD=true -p:Version="${{ vars.APP_VERSION}}" -p:BitMinifyAggressive=true -p:BitMinifyMapOutputPath="${{ github.workspace }}/bit-minifier.map"
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -o client -p:UseMonoRuntime=false -p:WasmEnableSIMD=true -p:Version="${{ vars.APP_VERSION}}" -p:BitMinifyAggressive=true -p:BitMinifyMapOutputPath="${{ github.workspace }}/bit-minifier.map"

# what the stack traces this client logs are read back through: see the note in the server web job
- name: Upload minifier map artifact
Expand Down Expand Up @@ -309,6 +309,8 @@ jobs:
Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }}
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }}
WindowsUpdate.FilesUrl: https://windows-adminpanel.bitplatform.dev
Kiosk.Enabled: true
Kiosk.PreventSleep: true

- name: Generate CSS/JS files
run: dotnet build AdminPanel\src\Client\AdminPanel.Client.Core\AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APP_VERSION}}" --no-restore -c Release
Expand Down Expand Up @@ -401,21 +403,22 @@ jobs:
dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APP_VERSION}}" --no-restore -c Release

- name: Publish aab
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -c Release -p:EnableLLVM=true -p:AndroidEnableProfiledAot=false -p:AndroidPackageFormats=aab%3Bapk -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="AdminPanel.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:Version="${{ vars.APP_VERSION }}" -p:ApplicationTitle="AdminPanel" -p:ApplicationId="${{ env.APP_BUNDLE_ID }}" -f net10.0-android
# NETSDK1242 refuses Mono on .NET 11 android; the private opt-out turns it off, which is what makes EnableLLVM and AndroidEnableProfiledAot mean something again.
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -c Release -p:UseMonoRuntime=true -p:_DisableCheckForUnsupportedMonoMobileRuntime=true -p:EnableLLVM=true -p:AndroidEnableProfiledAot=false -p:AndroidPackageFormats=aab%3Bapk -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="AdminPanel.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:Version="${{ vars.APP_VERSION }}" -p:ApplicationTitle="AdminPanel" -p:ApplicationId="${{ env.APP_BUNDLE_ID }}" -f net11.0-android

- name: Upload artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: android-bundle
path: AdminPanel/src/Client/AdminPanel.Client.Maui/bin/Release/net10.0-android/*-Signed.apk
path: AdminPanel/src/Client/AdminPanel.Client.Maui/bin/Release/net11.0-android/*-Signed.apk

# versionCode derives from APP_VERSION; bump it or Play rejects the bundle.
- name: Upload to Google Play (internal track)
uses: r0adkll/upload-google-play@e738b9dd8f2476ea806d921b64aacd24f34515a5 # v1.1.5
with:
serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
packageName: ${{ env.APP_BUNDLE_ID }}
releaseFiles: AdminPanel/src/Client/AdminPanel.Client.Maui/bin/Release/net10.0-android/*-Signed.aab
releaseFiles: AdminPanel/src/Client/AdminPanel.Client.Maui/bin/Release/net11.0-android/*-Signed.aab
releaseName: ${{ vars.APP_VERSION }}
track: internal
status: completed
Expand Down Expand Up @@ -490,11 +493,11 @@ jobs:
dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APP_VERSION}}" --no-restore -c Release

- name: Build ipa
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -p:RuntimeIdentifier=ios-arm64 -c Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="AdminPanel" -p:Version="${{ vars.APP_VERSION }}" -p:ApplicationTitle="AdminPanel" -p:ApplicationId="${{ env.APP_BUNDLE_ID }}" -f net10.0-ios
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -p:RuntimeIdentifier=ios-arm64 -c Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="AdminPanel" -p:Version="${{ vars.APP_VERSION }}" -p:ApplicationTitle="AdminPanel" -p:ApplicationId="${{ env.APP_BUNDLE_ID }}" -f net11.0-ios

- name: Locate ipa
id: ipa
run: echo "path=$(ls AdminPanel/src/Client/AdminPanel.Client.Maui/bin/release/net10.0-ios/ios-arm64/publish/*.ipa | head -n 1)" >> $GITHUB_OUTPUT
run: echo "path=$(ls AdminPanel/src/Client/AdminPanel.Client.Maui/bin/release/net11.0-ios/ios-arm64/publish/*.ipa | head -n 1)" >> $GITHUB_OUTPUT

# App Store submission stays manual.
- name: Upload to TestFlight
Expand Down
47 changes: 25 additions & 22 deletions .github/workflows/all.ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ on:
description: Boilerplate tests with PostgreSQL
type: boolean
default: true
# Off by default on .NET 11: MySql.EntityFrameworkCore has no EF 11 build, and the EF 10 one throws
# "Method not found: RelationalTypeMapping.Clone" the moment the DbContext is created. Turn it back
# on with the provider, not before - see the note next to the reference in Directory.Packages.props.
boilerplate_mysql:
description: Boilerplate tests with MySQL
type: boolean
default: true
default: false
boilerplate_mssql:
description: Boilerplate tests with SQL Server
type: boolean
Expand Down Expand Up @@ -78,7 +81,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -109,7 +112,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -152,7 +155,7 @@ jobs:
working-directory: TestPostgreSQL/src/Tests
run: |
dotnet build
pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps
pwsh bin/Debug/net11.0/playwright.ps1 install --with-deps

- name: Run tests (Blazor Server)
id: test-postgresql-blazorserver
Expand Down Expand Up @@ -218,7 +221,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -261,7 +264,7 @@ jobs:
working-directory: TestMySql/src/Tests
run: |
dotnet build
pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps
pwsh bin/Debug/net11.0/playwright.ps1 install --with-deps

- name: Run tests (Blazor Server)
id: test-mysql-blazorserver
Expand Down Expand Up @@ -327,7 +330,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -374,7 +377,7 @@ jobs:
working-directory: TestSqlServer/src/Tests
run: |
dotnet build
pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps
pwsh bin/Debug/net11.0/playwright.ps1 install --with-deps

- name: Run tests (Blazor Server)
id: test-mssql-blazorserver
Expand Down Expand Up @@ -431,7 +434,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -500,7 +503,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -590,39 +593,39 @@ jobs:
dotnet pack src/BlazorES2019/Bit.BlazorES2019/Bit.BlazorES2019.csproj --output ./packages --configuration Release

- name: Generate CSS/JS files BlazorUI
run: dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -t:BeforeBuildTasks --no-restore -f:net10.0 -c Release
run: dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -t:BeforeBuildTasks --no-restore -f:net11.0 -c Release

- name: Build and pack BlazorUI
run: |
dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -c Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false
dotnet pack src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj --output ./packages --configuration Release

- name: Generate CSS/JS files BlazorUI.Extras
run: dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -t:BeforeBuildTasks --no-restore -f:net10.0 -c Release
run: dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -t:BeforeBuildTasks --no-restore -f:net11.0 -c Release

- name: Build and pack BlazorUI.Extras
run: |
dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -c Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false
dotnet pack src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj --output ./packages --configuration Release

- name: Generate CSS/JS files BlazorUI.Legacy
run: dotnet build src/BlazorUI/Bit.BlazorUI.Legacy/Bit.BlazorUI.Legacy.csproj -t:BeforeBuildTasks --no-restore -f:net10.0 -c Release
run: dotnet build src/BlazorUI/Bit.BlazorUI.Legacy/Bit.BlazorUI.Legacy.csproj -t:BeforeBuildTasks --no-restore -f:net11.0 -c Release

- name: Build and pack BlazorUI.Legacy
run: |
dotnet build src/BlazorUI/Bit.BlazorUI.Legacy/Bit.BlazorUI.Legacy.csproj -c Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false
dotnet pack src/BlazorUI/Bit.BlazorUI.Legacy/Bit.BlazorUI.Legacy.csproj --output ./packages --configuration Release

- name: Generate CSS/JS files BlazorUI.Assets
run: dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -t:BeforeBuildTasks --no-restore -f:net10.0 -c Release
run: dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -t:BeforeBuildTasks --no-restore -f:net11.0 -c Release

- name: Build and pack BlazorUI.Assets
run: |
dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -c Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false
dotnet pack src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj --output ./packages --configuration Release

- name: Generate CSS/JS files BlazorUI.Icons
run: dotnet build src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj -t:BeforeBuildTasks --no-restore -f:net10.0 -c Release
run: dotnet build src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj -t:BeforeBuildTasks --no-restore -f:net11.0 -c Release

- name: Build and pack BlazorUI.Icons
run: |
Expand Down Expand Up @@ -709,7 +712,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -740,7 +743,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -771,7 +774,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -802,7 +805,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down Expand Up @@ -833,7 +836,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand All @@ -845,7 +848,7 @@ jobs:
run: dotnet build src/Minifier/Bit.Minifier.slnx -c Release

- name: Test Minifier
run: cd src/Minifier && dotnet test --project Tests/Bit.Minifier.Tests/Bit.Minifier.Tests.csproj -c Release --no-build
run: cd src/Minifier/Tests/Bit.Minifier.Tests && dotnet test -c Release --no-build

- name: Build ResxTranslator solution in Release mode
run: dotnet build src/ResxTranslator/Bit.ResxTranslator.slnx -c Release
Expand All @@ -866,7 +869,7 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10
- name: Setup .NET 11
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/bit.ci.Besql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10.0
- name: Setup .NET 11.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json

- name: Setup .NET 10.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.0.x

- name: Setup .NET 9.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/bit.ci.BlazorES2019.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10.0
- name: Setup .NET 11.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json

- name: Setup .NET 10.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.0.x

- name: Setup .NET 9.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/bit.ci.BlazorUI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,16 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10.0
- name: Setup .NET 11.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json

- name: Setup .NET 10.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.0.x

- name: Setup .NET 9.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
Expand All @@ -50,7 +55,7 @@ jobs:

- name: InstallNodejsDependencies
continue-on-error: true # Error MSB4057, not all csproj files have InstallNodejsDependencies target.
run: dotnet build src/BlazorUI/Bit.BlazorUI.slnx -t:InstallNodejsDependencies -m:1 -f net10.0
run: dotnet build src/BlazorUI/Bit.BlazorUI.slnx -t:InstallNodejsDependencies -m:1 -f net11.0

# BuildAllTfms=true opts back into net9.0 and net8.0, which the Debug configuration skips so that local
# inner-loop builds only compile the TFM the demo and the tests actually run on.
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/bit.ci.Bmotion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@ jobs:
with:
persist-credentials: false

- name: Setup .NET 10.0
- name: Setup .NET 11.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: src/global.json

- name: Setup .NET 10.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.0.x

- name: Setup .NET 9.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
Expand All @@ -49,18 +54,18 @@ jobs:

- name: InstallNodejsDependencies
continue-on-error: true # Error MSB4057, not all csproj files have InstallNodejsDependencies target.
run: dotnet build src/Bmotion/Bit.Bmotion.slnx -t:InstallNodejsDependencies -m:1 -f net10.0
run: dotnet build src/Bmotion/Bit.Bmotion.slnx -t:InstallNodejsDependencies -m:1 -f net11.0

- name: dotnet build
run: dotnet build src/Bmotion/Bit.Bmotion.slnx

- name: dotnet test (C# engine + component tests)
# Run from inside src so src/global.json's "test" runner setting applies
# (from the repo root the SDK falls back to the unsupported VSTest path).
run: cd src/Bmotion && dotnet test Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj -f net10.0 --no-build
run: cd src/Bmotion/Tests/Bit.Bmotion.Tests && dotnet test -f net11.0 --no-build

- name: dotnet test (MCP server)
run: cd src/Bmotion && dotnet test Tests/Bit.Bmotion.Tests.Mcp/Bit.Bmotion.Tests.Mcp.csproj -f net10.0 --no-build
run: cd src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp && dotnet test -f net11.0 --no-build

- name: JS tests (bit-bmotion.js drag/scroll math)
run: |
Expand Down
Loading
Loading