Skip to content

Add benchmarks for reading 65K records across multiple Excel formats #49

Add benchmarks for reading 65K records across multiple Excel formats

Add benchmarks for reading 65K records across multiple Excel formats #49

Triggered via pull request July 8, 2026 19:46
Status Success
Total duration 2m 15s
Artifacts 3

ci.yml

on: pull_request
Dependency audit
14s
Dependency audit
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

30 warnings and 1 notice
Build & Test (macos-latest): src/ExcelReader.Core/Reader/XlsbReader.Enumerator.cs#L18
'Enumerator' contains field '_reader' that is of IDisposable type 'XlsbReader', but it is never disposed. Change the Dispose method on 'Enumerator' to call Close or Dispose on this field. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2213)
Build & Test (macos-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L113
Call System.IDisposable.Dispose on object created by 'GetAsyncEnumerator(ct)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (macos-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L108
Call System.IDisposable.Dispose on object created by 'GetAsyncEnumerator(ct)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (macos-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L113
'XlsReader.GetAsyncEnumerator(CancellationToken)' synchronously blocks. Await 'XlsReader.GetAsyncEnumeratorAsync(CancellationToken)' instead. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1849)
Build & Test (macos-latest): src/ExcelReader.Core/Writer/XlsbSheetWriter.cs#L76
Call System.IDisposable.Dispose on object created by 'new XlsbRowWriter(this)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (ubuntu-latest): src/ExcelReader.Core/Reader/XlsbReader.Enumerator.cs#L18
'Enumerator' contains field '_reader' that is of IDisposable type 'XlsbReader', but it is never disposed. Change the Dispose method on 'Enumerator' to call Close or Dispose on this field. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2213)
Build & Test (ubuntu-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L113
Call System.IDisposable.Dispose on object created by 'GetAsyncEnumerator(ct)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (ubuntu-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L113
'XlsReader.GetAsyncEnumerator(CancellationToken)' synchronously blocks. Await 'XlsReader.GetAsyncEnumeratorAsync(CancellationToken)' instead. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1849)
Build & Test (ubuntu-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L108
Call System.IDisposable.Dispose on object created by 'GetAsyncEnumerator(ct)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (ubuntu-latest): src/ExcelReader.Core/Writer/XlsbSheetWriter.cs#L76
Call System.IDisposable.Dispose on object created by 'new XlsbRowWriter(this)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (windows-latest): src/ExcelReader.Core/Reader/XlsbReader.Enumerator.cs#L18
'Enumerator' contains field '_reader' that is of IDisposable type 'XlsbReader', but it is never disposed. Change the Dispose method on 'Enumerator' to call Close or Dispose on this field. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2213)
Build & Test (windows-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L113
Call System.IDisposable.Dispose on object created by 'GetAsyncEnumerator(ct)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (windows-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L113
'XlsReader.GetAsyncEnumerator(CancellationToken)' synchronously blocks. Await 'XlsReader.GetAsyncEnumeratorAsync(CancellationToken)' instead. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1849)
Build & Test (windows-latest): src/ExcelReader.Core/Reader/XlsReader.cs#L108
Call System.IDisposable.Dispose on object created by 'GetAsyncEnumerator(ct)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (windows-latest): src/ExcelReader.Core/Writer/XlsbSheetWriter.cs#L76
Call System.IDisposable.Dispose on object created by 'new XlsbRowWriter(this)' before all references to it are out of scope (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000)
Build & Test (macos-latest)
The macos-latest label will migrate to macOS 26 beginning June 15, 2026. For more information see https://github.com/actions/runner-images/issues/14167

Artifacts

Produced during runtime
Name Size Digest
test-results-macos-latest
131 KB
sha256:97a0118cd49b90eef8abf9154688c270fb82c83237fecd855560287892dcbe2e
test-results-ubuntu-latest
132 KB
sha256:c07326202ce3c458c60e7e5150a3a8783bdd79950b0fc40e802620c83e1ff0ed
test-results-windows-latest
132 KB
sha256:adcd9d69a25f8e47624975ebfb157cd57df39fdb90f0655b23a37ce78babee83