Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
35f801f
add map to vortice sample
beto-rodriguez Oct 2, 2025
2cc5c16
add missing ns
beto-rodriguez Oct 2, 2025
7942a1b
add wpf test
beto-rodriguez Oct 3, 2025
5306e2a
update samples to net 10
beto-rodriguez Dec 10, 2025
80fe301
cleaner msbuild
beto-rodriguez Dec 13, 2025
0ed2820
cleaner avalonia msbuild
beto-rodriguez Dec 13, 2025
2a36709
cleaner blazor ms build
beto-rodriguez Dec 13, 2025
a2a2021
update eto
beto-rodriguez Dec 14, 2025
fab2e90
update maui
beto-rodriguez Dec 14, 2025
7d0d71a
update uno
beto-rodriguez Dec 14, 2025
c7287a9
update winforms
beto-rodriguez Dec 14, 2025
66887bf
update winui
beto-rodriguez Dec 14, 2025
17b0cc9
update wpf
beto-rodriguez Dec 14, 2025
4b3c6fb
Merge pull request #2053 from Live-Charts/update-dotnet
beto-rodriguez Dec 14, 2025
6392ba1
try factos
beto-rodriguez Dec 14, 2025
8ade119
remove old wpf ui tests
beto-rodriguez Dec 25, 2025
7b28eca
try factos with all samples
beto-rodriguez Dec 30, 2025
6b52adf
multiple updates to core tests
beto-rodriguez Jan 2, 2026
d25e30d
.
beto-rodriguez Jan 2, 2026
760f4be
add snk file for dotnet 4.x legacy packages
beto-rodriguez Jan 2, 2026
1e83a2c
sign for net462 always (legacy packages)
beto-rodriguez Jan 2, 2026
9f57a77
try run tests against nuget
beto-rodriguez Jan 2, 2026
60a1c2b
use LiveChartsVersionSurfix
beto-rodriguez Jan 2, 2026
cf2e61f
.
beto-rodriguez Jan 2, 2026
265cb14
.
beto-rodriguez Jan 2, 2026
f3fe323
.
beto-rodriguez Jan 2, 2026
c2c1873
.
beto-rodriguez Jan 3, 2026
a390a31
.
beto-rodriguez Jan 3, 2026
382de94
.
beto-rodriguez Jan 3, 2026
cb0fab7
use sha
beto-rodriguez Jan 3, 2026
cf3a0cb
.
beto-rodriguez Jan 3, 2026
264cbbc
.
beto-rodriguez Jan 3, 2026
3c6a602
.
beto-rodriguez Jan 3, 2026
c23215a
.
beto-rodriguez Jan 3, 2026
ebc88ef
.
beto-rodriguez Jan 3, 2026
bbc9201
.
beto-rodriguez Jan 3, 2026
46bbecb
.
beto-rodriguez Jan 3, 2026
efbdf94
.
beto-rodriguez Jan 3, 2026
7abdbce
.
beto-rodriguez Jan 3, 2026
4c1a553
.
beto-rodriguez Jan 3, 2026
b96e663
.
beto-rodriguez Jan 3, 2026
f3005d4
.
beto-rodriguez Jan 3, 2026
5a6d902
.
beto-rodriguez Jan 3, 2026
e76db84
.
beto-rodriguez Jan 3, 2026
5e2f357
.
beto-rodriguez Jan 3, 2026
db923cd
.
beto-rodriguez Jan 3, 2026
95d54af
.
beto-rodriguez Jan 3, 2026
9ead37f
.
beto-rodriguez Jan 3, 2026
0ab848a
.
beto-rodriguez Jan 3, 2026
be300b7
.
beto-rodriguez Jan 3, 2026
2caaad1
.
beto-rodriguez Jan 3, 2026
0402943
.
beto-rodriguez Jan 3, 2026
b13c53a
try pack all
beto-rodriguez Jan 3, 2026
819528d
.
beto-rodriguez Jan 3, 2026
9c24a4e
.
beto-rodriguez Jan 3, 2026
260ce48
.
beto-rodriguez Jan 3, 2026
97aa908
add windows ui tests
beto-rodriguez Jan 3, 2026
a7931c4
try this
beto-rodriguez Jan 3, 2026
a1ef711
.
beto-rodriguez Jan 3, 2026
e11f6d8
.
beto-rodriguez Jan 3, 2026
4d4e6e7
.
beto-rodriguez Jan 3, 2026
a1f8292
.
beto-rodriguez Jan 4, 2026
cc07822
.
beto-rodriguez Jan 4, 2026
d4a2462
.
beto-rodriguez Jan 4, 2026
a01c605
.
beto-rodriguez Jan 4, 2026
2b8833f
.
beto-rodriguez Jan 4, 2026
e1550f8
.
beto-rodriguez Jan 4, 2026
fe03d95
.
beto-rodriguez Jan 4, 2026
27341ba
.
beto-rodriguez Jan 4, 2026
44c19d8
.
beto-rodriguez Jan 4, 2026
da6bbc9
.
beto-rodriguez Jan 4, 2026
12119d7
.
beto-rodriguez Jan 4, 2026
0aaa7d3
.
beto-rodriguez Jan 4, 2026
002ae55
.
beto-rodriguez Jan 4, 2026
f611912
.
beto-rodriguez Jan 4, 2026
4846be7
.
beto-rodriguez Jan 4, 2026
3ed8806
.
beto-rodriguez Jan 4, 2026
ff93eba
.
beto-rodriguez Jan 4, 2026
3af50e6
.
beto-rodriguez Jan 4, 2026
216d865
.
beto-rodriguez Jan 4, 2026
691e174
.
beto-rodriguez Jan 4, 2026
e20aad4
.
beto-rodriguez Jan 4, 2026
acbdf0b
.
beto-rodriguez Jan 4, 2026
26714d3
.
beto-rodriguez Jan 4, 2026
3bfb8b4
.
beto-rodriguez Jan 4, 2026
fa3e5f0
.
beto-rodriguez Jan 4, 2026
8fac9cd
.
beto-rodriguez Jan 4, 2026
399bc92
.
beto-rodriguez Jan 4, 2026
fcbd411
.
beto-rodriguez Jan 4, 2026
beb50da
.
beto-rodriguez Jan 4, 2026
51d8ffd
.
beto-rodriguez Jan 4, 2026
61fb8cd
.
beto-rodriguez Jan 4, 2026
e0b7181
.
beto-rodriguez Jan 4, 2026
3a50c4e
.
beto-rodriguez Jan 4, 2026
21f30f5
.
beto-rodriguez Jan 4, 2026
202ec39
.
beto-rodriguez Jan 4, 2026
5ea9d5d
.
beto-rodriguez Jan 5, 2026
19a462e
.
beto-rodriguez Jan 5, 2026
52d5d17
.
beto-rodriguez Jan 5, 2026
d72cab2
.
beto-rodriguez Jan 5, 2026
e4ded92
.
beto-rodriguez Jan 5, 2026
266fba5
.
beto-rodriguez Jan 5, 2026
42971a9
.
beto-rodriguez Jan 5, 2026
4e858e6
/
beto-rodriguez Jan 5, 2026
dd46d92
.
beto-rodriguez Jan 5, 2026
982de14
.
beto-rodriguez Jan 5, 2026
4930b40
.
beto-rodriguez Jan 5, 2026
ebf8b8a
.
beto-rodriguez Jan 5, 2026
bec8e99
.
beto-rodriguez Jan 5, 2026
db78f84
.
beto-rodriguez Jan 5, 2026
4128b1b
.
beto-rodriguez Jan 5, 2026
c02ce84
.
beto-rodriguez Jan 5, 2026
b2e89c6
.
beto-rodriguez Jan 5, 2026
267f55e
.
beto-rodriguez Jan 5, 2026
858c652
add browser tests
beto-rodriguez Jan 6, 2026
a801321
.
beto-rodriguez Jan 6, 2026
b8dee9a
share some props in directory.build.props
beto-rodriguez Jan 9, 2026
7b0e714
re-structure blazor samples for consistency with the rest of samples
beto-rodriguez Jan 9, 2026
eaa881a
fixes to blazor samples
beto-rodriguez Jan 9, 2026
1af948a
workaround for https://github.com/CommunityToolkit/dotnet/issues/1139
beto-rodriguez Jan 9, 2026
d051aae
shared ui tests improvements
beto-rodriguez Jan 9, 2026
2fb7eed
disable implicit using on maui
beto-rodriguez Jan 9, 2026
e24fee0
update vortice sample
beto-rodriguez Jan 10, 2026
58e0bcd
.
beto-rodriguez Jan 10, 2026
09b81ad
.
beto-rodriguez Jan 10, 2026
8e82db6
.
beto-rodriguez Jan 10, 2026
ea0c41f
.
beto-rodriguez Jan 11, 2026
b910d8b
.
beto-rodriguez Jan 11, 2026
2cbe59d
net462 wupport for ui tests
beto-rodriguez Jan 12, 2026
34aae2e
update factos
beto-rodriguez Jan 12, 2026
291239e
add net462 tests
beto-rodriguez Jan 12, 2026
e4ba991
.
beto-rodriguez Jan 12, 2026
ca36e56
net10.0-windows
beto-rodriguez Jan 12, 2026
6e5f76b
.
beto-rodriguez Jan 12, 2026
9c49243
.
beto-rodriguez Jan 12, 2026
e5f1e15
remove imposible to use property
beto-rodriguez Jan 14, 2026
b041bb7
update samples projs to run ui tests only when needed
beto-rodriguez Jan 14, 2026
8b2b656
.
beto-rodriguez Jan 14, 2026
81aaa98
update winforms/wpf
beto-rodriguez Jan 14, 2026
4ab97da
.
beto-rodriguez Jan 14, 2026
9a5abaa
.
beto-rodriguez Jan 14, 2026
57bdedc
update avalonia sample for ui testing
beto-rodriguez Jan 15, 2026
7c6ae30
update datatemplate sample
beto-rodriguez Jan 16, 2026
e11cf58
XAML_UI_TESTING;
beto-rodriguez Jan 16, 2026
f7b0093
improve wpf and winforms ui testing target framework
beto-rodriguez Jan 16, 2026
99306b7
equivalent?
beto-rodriguez Jan 16, 2026
55dd879
add TemplatedChart ui test
beto-rodriguez Jan 16, 2026
0f1511e
try IsTestBuild
beto-rodriguez Jan 16, 2026
49d2596
.
beto-rodriguez Jan 16, 2026
0134875
.
beto-rodriguez Jan 16, 2026
680ffb9
.
beto-rodriguez Jan 16, 2026
264b132
.
beto-rodriguez Jan 16, 2026
ee43687
add pie and polar ui tests
beto-rodriguez Jan 16, 2026
ded81bd
improve wpf and winforms targets
beto-rodriguez Jan 17, 2026
af619df
update factos
beto-rodriguez Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .github/actions/comment-progress/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: "Comment"
description: "Creates or updates a comment on the PR with the progress of the tests"
inputs:
comment_id:
description: 'The ID of the comment to append to'
required: false
content:
description: 'The content to add to the comment'
required: true
outputs:
comment_id:
description: "ID of the comment"
value: ${{ steps.update-comment.outputs.comment_id }}
runs:
using: "composite"
steps:
- id: update-comment
uses: actions/github-script@v8
with:
script: |
const commentId = "${{ inputs.comment_id }}";
let content = `${{ inputs.content }}`;

if (!commentId) {
const newComment = await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: content
});

core.setOutput("comment_id", newComment.data.id);

return;
}

const comment = await github.rest.issues.getComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: commentId
});

content = content
.replace(new RegExp('#success', 'g'), '✅ passed')
.replace(new RegExp('#failure', 'g'), '❌ failed');

let body = comment.data.body;

body += `\n${content}`;

await github.rest.issues.updateComment({
comment_id: commentId,
owner: context.repo.owner,
repo: context.repo.repo,
body
});
95 changes: 95 additions & 0 deletions .github/actions/run-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: "Run tests"
description: "Runs the specified tests using factos or core tests"
inputs:
use-factos:
description: 'Whether to use factos for test selection'
required: true
id:
description: "Identifier for the test target"
required: true
test-id:
description: 'The test id to select for factos'
required: false
default: ""
target-framework:
description: 'The target framework to use'
required: false
default: ""
workloads:
description: 'The workloads array to install'
required: false
default: ""
xcode-path:
description: 'The Xcode path to select'
required: false
use-android-emulator:
description: 'Whether to use android emulator'
required: false
comment_id:
description: 'The ID of the comment to append to'
required: false
runs:
using: "composite"
steps:
- name: Select Xcode version
shell: pwsh
if: ${{ inputs.xcode-path }}
run: sudo xcode-select -s ${{ inputs.xcode-path }}

- name: Setup .NET and Workloads
uses: ./.github/actions/setup-dotnet-and-workloads
with:
workloads: ${{ inputs.workloads }}

- name: Download local packages
uses: actions/[email protected]
with:
path: ./artifacts

- name: Configure NuGet sources
shell: pwsh
run:
dotnet nuget add source ${{ github.workspace }}/artifacts --name local

# run tests using the factos selection and the console when no emulator is needed
- name: Run UI tests
if : ${{ inputs.use-factos == 'true' && inputs.use-android-emulator != 'true' }}
shell: pwsh
run: dotnet run --project tests/UITests -c Release --report-trx --no-progress --select ${{ inputs.test-id }} --test-env tf=${{ inputs.target-framework }} lvcversionsuffix=-${{ github.sha }}

# run tests using the factos selection inside the android emulator
- name: Enable KVM
if : ${{ inputs.use-factos == 'true' && inputs.use-android-emulator == 'true' }}
shell: pwsh
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Start Android emulator and run tests
if : ${{ inputs.use-factos == 'true' && inputs.use-android-emulator == 'true' }}
uses: reactivecircus/[email protected]
with:
api-level: 35
target: google_apis
arch: x86_64
script:
dotnet run --project tests/UITests -c Release --report-trx --no-progress --select ${{ inputs.test-id }} --test-env tf=${{ inputs.target-framework }} lvcversionsuffix=-${{ github.sha }}

# run core tests when factos is not used
# the Debug config is required even we are testing the nuget packages in Release.
# this is because some optimizations in Release make the tests fail, but the code
# that fails is not related to the nuget packages but to the test code itself
# there is a function that mocks the ui drawing that fails in Release optimizations.
# ToDo: fix that, or now that we have ui tests, maybe just run the tests in the ui?.
- name: Run tests
if : ${{ inputs.use-factos != 'true' }}
shell: pwsh
run: dotnet run --project tests/CoreTests/CoreTests.csproj -c Debug -f ${{ inputs.target-framework }} --report-trx -p:UseNuGetPackages=true -p:LiveChartsVersionSuffix=-${{ github.sha }}

- name: Upload test results
if: always()
uses: actions/[email protected]
with:
name: test-results-${{ inputs.test-id }}
retention-days: 30
path: "**/*.trx"
23 changes: 23 additions & 0 deletions .github/actions/setup-dotnet-and-workloads/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Setup .Net and Workloads"
description: "Sets up .NET SDK 10 and installs the specified workloads"
inputs:
workloads:
description: 'The workloads array to install'
required: false
default: ""
runs:
using: "composite"
steps:
- name: Setup .NET
uses: actions/[email protected]
with:
dotnet-version: '10.0.100'

- name: Install Workloads
if: ${{ inputs.workloads != '' }}
shell: pwsh
run: |
$workloads = "${{ inputs.workloads }}".Split(' ')
foreach ($workload in $workloads) {
dotnet workload install $workload
}
34 changes: 0 additions & 34 deletions .github/workflows/compile-all-views.yml

This file was deleted.

Loading
Loading