Skip to content

Fix winui pointer release capture 2076 #129

Fix winui pointer release capture 2076

Fix winui pointer release capture 2076 #129

Workflow file for this run

name: LiveCharts
permissions:
contents: read
actions: read
checks: write
pull-requests: write
on:
pull_request:
branches: [ master, dev ]
jobs:
report-progress-starting:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/[email protected]
- uses: ./.github/actions/comment-progress
id: create-comment
with:
content: |
Thanks for your contribution!
The build and test process is starting. This may take a while.
You can find more details below as the process continues or at the [actions tab](https://github.com/Live-Charts/LiveCharts2/actions/runs/${{ github.run_id }}).
outputs:
comment_id: ${{ steps.create-comment.outputs.comment_id }}
pack:
runs-on: windows-2025
needs: report-progress-starting
strategy:
matrix:
include:
- short-name: core
project: src/LiveChartsCore
- short-name: skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharp
- short-name: avalonia-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharp.Avalonia
workloads: wasm-tools, maui
- short-name: blazor-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharpView.Blazor
- short-name: eto-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharpView.Eto
- short-name: maui-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharpView.Maui
workloads: maui
- short-name: uno-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharpView.Uno.WinUI
workloads: wasm-tools, maui
- short-name: winui-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharpView.WinUI
- short-name: winforms-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharp.WinForms
- short-name: wpf-skiasharp
project: src/skiasharp/LiveChartsCore.SkiaSharp.WPF
steps:
- name: Checkout
uses: actions/[email protected]
- name: Setup .NET and Workloads
uses: ./.github/actions/setup-dotnet-and-workloads
with:
workloads: ${{ matrix.workloads }}
- name: Pack
run:
dotnet pack ${{ matrix.project }} -c Release -o artifacts /p:IsPacking=true /p:LiveChartsVersionSuffix=-${{ github.sha }}
- name: Upload packages
id: upload
uses: actions/[email protected]
with:
name: ${{ matrix.short-name }}-package
retention-days: 30
path: |
artifacts/*.nupkg
artifacts/*.snupkg
collect-packages:
runs-on: ubuntu-24.04
needs: [pack, report-progress-starting]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Merge all package artifacts into one
uses: actions/upload-artifact/merge@v6
id: merge
with:
name: nuget-packages
pattern: "*-package"
retention-days: 30
delete-merged: true
- name: Update Comment
uses: ./.github/actions/comment-progress
with:
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
content: |
---
All packages have been packed successfully! 📦✅
You can download the NuGet packages for this build [here](${{ steps.merge.outputs.artifact-url }}).
The packages will be available for 30 days, you can either [use them directly](https://stackoverflow.com/questions/43400069/add-a-package-with-a-local-package-file-in-dotnet), or wait for this PR to be merged to have them published to NuGet.org.
---
Tests will start now, you can monitor their progress below or at the [actions tab](https://github.com/Live-Charts/LiveCharts2/actions/runs/${{ github.run_id }}).
test-core:
runs-on: windows-2025
needs: [pack, report-progress-starting, collect-packages]
strategy:
fail-fast: false
matrix:
framework: [ net8.0, net462 ]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Run tests
uses: ./.github/actions/run-tests
with:
id: core
test-id: core-${{ matrix.framework }}
use-factos: false
target-framework: ${{ matrix.framework }}
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
test-windows:
runs-on: windows-2025
strategy:
fail-fast: false
matrix:
include:
- id: avalonia-desktop
- id: eto
- id: maui
tf: net10.0-windows10.0.19041.0
workloads: maui
- id: uno
tf: net10.0-desktop
workloads: maui
- id: winui
- id: winforms-net10
- id: winforms-net10w19041
- id: winforms-net462
- id: wpf-net10
- id: wpf-net10w19041
- id: wpf-net462
needs: [pack, report-progress-starting, collect-packages]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Run UI tests
uses: ./.github/actions/run-tests
with:
id: windows
use-factos: true
test-id: ${{ matrix.id }}
workloads: ${{ matrix.workloads }}
target-framework: ${{ matrix.tf }}
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
test-linux:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- id: avalonia-desktop
# - id: eto, requires additional setup i think...
- id: uno
tf: net10.0-desktop
workloads: android
needs: [pack, report-progress-starting, collect-packages]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Setup headless display
uses: pyvista/[email protected]
- name: Run UI tests
uses: ./.github/actions/run-tests
with:
id: linux
use-factos: true
test-id: ${{ matrix.id }}
workloads: ${{ matrix.workloads }}
target-framework: ${{ matrix.tf }}
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
test-mac:
runs-on: macos-26
strategy:
fail-fast: false
matrix:
include:
- id: avalonia-desktop
- id: eto
- id: maui
tf: net10.0-maccatalyst
workloads: maui
- id: uno
tf: net10.0-desktop
workloads: maui
needs: [pack, report-progress-starting, collect-packages]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Run UI tests
uses: ./.github/actions/run-tests
with:
id: mac
use-factos: true
test-id: ${{ matrix.id }}
workloads: ${{ matrix.workloads }}
target-framework: ${{ matrix.tf }}
xcode-path: /Applications/Xcode_26.2.app
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
test-browser:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
# not running, blazor issue? factos issue? tests issue?
# - id: blazor
# workloads: wasm-tools
- id: avalonia-browser
workloads: wasm-tools
# not running, uno issue? factos issue? tests issue?
# - id: uno
# tf: net10.0-browserwasm
# workloads: wasm-tools android
needs: [pack, report-progress-starting, collect-packages]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Run UI tests
uses: ./.github/actions/run-tests
with:
id: browser
use-factos: true
test-id: ${{ matrix.id }}
workloads: ${{ matrix.workloads }}
# target-framework: ${{ matrix.tf }}
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
test-android:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- id: avalonia-android
workloads: android
- id: maui
tf: net10.0-android
workloads: maui-android
# disabled for now, in this uno version, idk why on android no tests are detected.
# - id: uno
# tf: net10.0-android
# workloads: android
needs: [pack, report-progress-starting, collect-packages]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Run UI tests
uses: ./.github/actions/run-tests
with:
id: android
use-factos: true
test-id: ${{ matrix.id }}
workloads: ${{ matrix.workloads }}
target-framework: ${{ matrix.tf }}
use-android-emulator: true
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
test-ios:
runs-on: macos-26
strategy:
fail-fast: false
matrix:
include:
# - id: avalonia-ios
# workloads: ios
- id: maui
tf: net10.0-ios
workloads: maui
# disabled for now, in this uno version, it takes 3 times longer than the others (about 40 mins)
# - id: uno
# tf: net10.0-ios
# workloads: ios android
needs: [pack, report-progress-starting, collect-packages]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Run UI tests
uses: ./.github/actions/run-tests
with:
id: ios
use-factos: true
test-id: ${{ matrix.id }}
workloads: ${{ matrix.workloads }}
target-framework: ${{ matrix.tf }}
xcode-path: /Applications/Xcode_26.2.app
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
after-tests:
runs-on: ubuntu-24.04
if: always()
needs:
- report-progress-starting
- test-core
- test-windows
- test-linux
- test-mac
- test-browser
- test-android
- test-ios
steps:
- name: Checkout
uses: actions/[email protected]
- name: Download all test results
uses: actions/[email protected]
with:
pattern: test-results-*
path: ./test-results
- name: Publish all test results
id: report
uses: dorny/[email protected]
with:
name: all-test-results
path: "./test-results/**/*.trx"
reporter: dotnet-trx
- name: Report tests completion
if: ${{ always() && !contains(join(needs.*.result, ' '), 'failure') && !contains(join(needs.*.result, ' '), 'cancelled') }}
uses: ./.github/actions/comment-progress
with:
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
content: |
### Test Results Summary (Passed) ✅ :partying_face:
${{ steps.report.outputs.skipped }} skipped.
${{ steps.report.outputs.failed }} failed.
${{ steps.report.outputs.passed }} passed! ✅
- name: Report tests failure
if: ${{ always() && (contains(join(needs.*.result, ' '), 'failure') || contains(join(needs.*.result, ' '), 'cancelled')) }}
uses: ./.github/actions/comment-progress
with:
comment_id: ${{ needs.report-progress-starting.outputs.comment_id }}
content: |
### Test Results Summary (Failure) ❌ :disappointed_relieved:
| Core | Windows | Linux | Mac | Browser | Android | iOS |
|-------|---------|-------|-----|---------|---------|-----|
| #${{ needs.test-core.result }} | #${{ needs.test-windows.result }} | #${{ needs.test-linux.result }} | #${{ needs.test-mac.result }} | #${{ needs.test-browser.result }} | #${{ needs.test-android.result }} | #${{ needs.test-ios.result }} |
${{ steps.report.outputs.skipped }} skipped.
${{ steps.report.outputs.passed }} passed.
${{ steps.report.outputs.failed }} failed. ❌