Create new service scope each time a project is opened (#1405) #727
fw-lite.yaml
on: push
Build FW Lite and run tests
23m 57s
Publish FW Lite app for Mac
1m 36s
Publish FW Lite app for Linux
1m 4s
Publish FW Lite app for Android
5m 42s
Publish FW Lite app for Windows
14m 35s
Create Release
1m 17s
Annotations
65 warnings
Build FW Lite and run tests:
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs#L209
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
|
Build FW Lite and run tests:
backend/FwLite/FwLiteProjectSync/DryRunMiniLcmApi.cs#L35
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. For example, the pattern '(MiniLcm.Models.WritingSystemType)2' is not covered.
|
Build FW Lite and run tests:
backend/FwLite/FwLiteShared/Layout/SvelteLayout.razor#L90
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/FwLiteShared/ExampleJsInterop.cs#L23
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/FwLiteShared/ExampleJsInterop.cs#L30
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/FwLiteShared/Projects/LexboxProjectService.cs#L101
This call site is reachable on all platforms. 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' is unsupported on: 'browser'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
|
Build FW Lite and run tests:
backend/FwLite/FwLiteShared/FwLiteSharedKernel.cs#L60
This call site is reachable on all platforms. 'HttpClientHandler.ServerCertificateCustomValidationCallback' is unsupported on: 'browser'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
|
Build FW Lite and run tests:
backend/FwLite/FwLiteMaui/MauiProgram.cs#L24
Synchronously waiting on tasks or awaiters may cause deadlocks. Use await or JoinableTaskFactory.Run instead. (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD002.md)
|
Build FW Lite and run tests:
backend/FwLite/FwLiteMaui/MauiProgram.cs#L24
Synchronously waiting on tasks or awaiters may cause deadlocks. Use await or JoinableTaskFactory.Run instead. (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD002.md)
|
Publish FW Lite app for Linux
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Publish FW Lite app for Linux:
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs#L209
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Linux:
backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/CrdtProjectsService.cs#L27
The default value specified for parameter 'saveChangesOnDispose' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L20
Parameter 'dbContext' is unread.
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/Data/SetupCollationInterceptor.cs#L27
The variable 'e' is declared but never used
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/Changes/RemoveSemanticDomainChange.cs#L11
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L392
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Linux:
backend/FwLite/LcmCrdt/RemoteSync/CrdtHttpSyncService.cs#L53
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs#L209
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/CrdtProjectsService.cs#L27
The default value specified for parameter 'saveChangesOnDispose' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/Changes/RemoveSemanticDomainChange.cs#L11
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/RemoteSync/CrdtHttpSyncService.cs#L53
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L20
Parameter 'dbContext' is unread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/Data/SetupCollationInterceptor.cs#L27
The variable 'e' is declared but never used
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L392
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs#L209
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/CrdtProjectsService.cs#L27
The default value specified for parameter 'saveChangesOnDispose' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/RemoteSync/CrdtHttpSyncService.cs#L53
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/Changes/RemoveSemanticDomainChange.cs#L11
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L20
Parameter 'dbContext' is unread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L392
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Mac:
backend/FwLite/LcmCrdt/Data/SetupCollationInterceptor.cs#L27
The variable 'e' is declared but never used
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/CrdtProjectsService.cs#L27
The default value specified for parameter 'saveChangesOnDispose' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/Changes/RemoveSemanticDomainChange.cs#L11
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/RemoteSync/CrdtHttpSyncService.cs#L53
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L20
Parameter 'dbContext' is unread.
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L392
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Android:
backend/FwLite/LcmCrdt/Data/SetupCollationInterceptor.cs#L27
The variable 'e' is declared but never used
|
Publish FW Lite app for Android:
backend/FwLite/FwLiteShared/ExampleJsInterop.cs#L23
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Android:
backend/FwLite/FwLiteShared/ExampleJsInterop.cs#L30
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Windows
Unexpected input(s) 'clickonce-application-name', 'clickonce-publisher-name', valid inputs are ['azure-tenant-id', 'azure-client-id', 'azure-client-secret', 'azure-client-certificate-path', 'azure-client-send-certificate-chain', 'azure-username', 'azure-password', 'endpoint', 'code-signing-account-name', 'trusted-signing-account-name', 'certificate-profile-name', 'files', 'files-folder', 'files-folder-filter', 'files-folder-recurse', 'files-folder-depth', 'files-catalog', 'file-digest', 'timestamp-rfc3161', 'timestamp-digest', 'append-signature', 'description', 'description-url', 'generate-digest-path', 'generate-digest-xml', 'ingest-digest-path', 'sign-digest', 'generate-page-hashes', 'suppress-page-hashes', 'generate-pkcs7', 'pkcs7-options', 'pkcs7-oid', 'enhanced-key-usage', 'exclude-environment-credential', 'exclude-workload-identity-credential', 'exclude-managed-identity-credential', 'exclude-shared-token-cache-credential', 'exclude-visual-studio-credential', 'exclude-visual-studio-code-credential', 'exclude-azure-cli-credential', 'exclude-azure-powershell-credential', 'exclude-azure-developer-cli-credential', 'exclude-interactive-browser-credential', 'timeout', 'batch-size', 'cache-dependencies', 'trace']
|
Publish FW Lite app for Windows
Unexpected input(s) 'clickonce-application-name', 'clickonce-publisher-name', valid inputs are ['azure-tenant-id', 'azure-client-id', 'azure-client-secret', 'azure-client-certificate-path', 'azure-client-send-certificate-chain', 'azure-username', 'azure-password', 'endpoint', 'code-signing-account-name', 'trusted-signing-account-name', 'certificate-profile-name', 'files', 'files-folder', 'files-folder-filter', 'files-folder-recurse', 'files-folder-depth', 'files-catalog', 'file-digest', 'timestamp-rfc3161', 'timestamp-digest', 'append-signature', 'description', 'description-url', 'generate-digest-path', 'generate-digest-xml', 'ingest-digest-path', 'sign-digest', 'generate-page-hashes', 'suppress-page-hashes', 'generate-pkcs7', 'pkcs7-options', 'pkcs7-oid', 'enhanced-key-usage', 'exclude-environment-credential', 'exclude-workload-identity-credential', 'exclude-managed-identity-credential', 'exclude-shared-token-cache-credential', 'exclude-visual-studio-credential', 'exclude-visual-studio-code-credential', 'exclude-azure-cli-credential', 'exclude-azure-powershell-credential', 'exclude-azure-developer-cli-credential', 'exclude-interactive-browser-credential', 'timeout', 'batch-size', 'cache-dependencies', 'trace']
|
Publish FW Lite app for Windows:
backend/FwLite/FwLiteMaui/MauiProgram.cs#L24
Synchronously waiting on tasks or awaiters may cause deadlocks. Use await or JoinableTaskFactory.Run instead. (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD002.md)
|
Publish FW Lite app for Windows:
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs#L209
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Windows:
backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/CrdtProjectsService.cs#L27
The default value specified for parameter 'saveChangesOnDispose' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L20
Parameter 'dbContext' is unread.
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/Changes/RemoveSemanticDomainChange.cs#L11
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/RemoteSync/CrdtHttpSyncService.cs#L53
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/Data/SetupCollationInterceptor.cs#L27
The variable 'e' is declared but never used
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/HistoryService.cs#L103
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
Publish FW Lite app for Windows:
backend/FwLite/LcmCrdt/CrdtMiniLcmApi.cs#L392
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Create Release
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
fw-lite-android
|
179 MB |
|
fw-lite-msix
|
146 MB |
|
fw-lite-portable
|
182 MB |
|
fw-lite-viewer-js
|
2.22 MB |
|
fw-lite-web-linux
|
59.6 MB |
|
fw-lite-web-mac
|
124 MB |
|