Skip to content

refactor: 三端统一底层转换引擎 #76

refactor: 三端统一底层转换引擎

refactor: 三端统一底层转换引擎 #76

Triggered via push May 11, 2026 11:12
Status Success
Total duration 5m 15s
Artifacts –

ci.yml

on: push
Lint and Format Check
56s
Lint and Format Check
Build and Test
51s
Build and Test
Matrix: build-linux
Matrix: build-macos
Matrix: build-windows
CI Success
2s
CI Success
Fit to window
Zoom out
Zoom in

Annotations

64 warnings and 2 notices
Build and Test: src/ImeWlConverterCoreTest/PinyinJiaJiaTest.cs#L41
Test methods should not use blocking task operations, as they can cause deadlocks. Use an async test method and await instead. (https://xunit.net/xunit.analyzers/rules/xUnit1031)
Build and Test: src/ImeWlConverterCoreTest/PinyinJiaJiaTest.cs#L42
Do not use Assert.Equal() to check for collection size. Use Assert.Single instead. (https://xunit.net/xunit.analyzers/rules/xUnit2013)
Build and Test: src/ImeWlConverterCoreTest/PinyinJiaJiaTest.cs#L51
Test methods should not use blocking task operations, as they can cause deadlocks. Use an async test method and await instead. (https://xunit.net/xunit.analyzers/rules/xUnit1031)
Build and Test: src/ImeWlConverterCoreTest/NoPinyinWordOnlyTest.cs#L53
Test methods should not use blocking task operations, as they can cause deadlocks. Use an async test method and await instead. (https://xunit.net/xunit.analyzers/rules/xUnit1031)
Build and Test: src/ImeWlConverterCoreTest/PerformanceTest.cs#L35
Test methods should not use blocking task operations, as they can cause deadlocks. Use an async test method and await instead. (https://xunit.net/xunit.analyzers/rules/xUnit1031)
Build and Test: src/ImeWlConverterCoreTest/GooglePinyinTest.cs#L50
Test methods should not use blocking task operations, as they can cause deadlocks. Use an async test method and await instead. (https://xunit.net/xunit.analyzers/rules/xUnit1031)
Build and Test: src/ImeWlConverterCoreTest/SougouPinyinScelTest.cs#L47
Do not use Assert.Equal() to check for boolean conditions. Use Assert.False instead. (https://xunit.net/xunit.analyzers/rules/xUnit2004)
Build and Test: src/ImeWlConverterCoreTest/SougouPinyinScelTest.cs#L64
Do not use Assert.Equal() to check for boolean conditions. Use Assert.False instead. (https://xunit.net/xunit.analyzers/rules/xUnit2004)
Build and Test: src/ImeWlConverterCoreTest/BaseTest.cs#L31
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build and Test: src/ImeWlConverterCoreTest/BaseTest.cs#L30
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build and Test: src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L195
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build and Test: src/ImeWlConverterMac/Views/MergeWLWindow.axaml.cs#L104
Possible null reference argument for parameter 'path' in 'string FileOperationHelper.ReadFile(string path)'.
Build and Test: src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L130
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build and Test: src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L85
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build and Test: src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build and Test: src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build and Test: src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build and Test: src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build and Test: src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build and Test: src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Linux (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverterMac/Views/MergeWLWindow.axaml.cs#L104
Possible null reference argument for parameter 'path' in 'string FileOperationHelper.ReadFile(string path)'.
Build macOS (arm64): src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L195
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build macOS (arm64): src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L130
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build macOS (arm64): src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L85
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (arm64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (x64): src/ImeWlConverterMac/Views/MergeWLWindow.axaml.cs#L104
Possible null reference argument for parameter 'path' in 'string FileOperationHelper.ReadFile(string path)'.
Build macOS (x64): src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L195
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build macOS (x64): src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L130
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build macOS (x64): src/ImeWlConverterMac/Views/SplitFileWindow.axaml.cs#L85
Possible null reference argument for parameter 'fileName' in 'Encoding FileOperationHelper.GetEncodingType(string fileName)'.
Build macOS (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build macOS (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x64): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x86): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L131
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x86): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L119
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x86): src/ImeWlConverter.Formats/QQPinyinQcel/QQPinyinQcelImporter.cs#L117
Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
Build Windows (x64)
NOTICE: windows-2025 requests are being redirected to windows-2025-vs2026 by May 12, 2026
Build Windows (x86)
NOTICE: windows-2025 requests are being redirected to windows-2025-vs2026 by May 12, 2026