11name : format-check
22on :
3- push :
4- paths :
5- - ' **.py'
6- pull_request :
7- paths :
8- - ' **.py'
3+ - push
4+ - pull_request
95
106jobs :
117 build :
@@ -16,11 +12,11 @@ jobs:
1612 python-version : ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
1713
1814 steps :
19- - uses : actions/checkout@v5
15+ - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2016 with :
2117 fetch-depth : 0
2218
23- - uses : astral-sh/setup-uv@v7
19+ - uses : astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
2420 with :
2521 python-version : ${{ matrix.python-version }}
2622 activate-environment : " true"
4137
4238 # Maximum retention period is 90 days
4339 - name : Save lockfile as build artifact
44- uses : actions/upload-artifact@v4
40+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
4541 with :
4642 name : uv.lock.${{ matrix.python-version }}
4743 path : uv.lock
4844 compression-level : 9
45+
46+ cross-platform-tests :
47+ runs-on : ${{ matrix.os }}
48+ strategy :
49+ fail-fast : false
50+ matrix :
51+ os : ['ubuntu-24.04-arm', 'windows-latest']
52+ # os: ['ubuntu-24.04-arm', 'windows-latest', 'windows-11-arm', 'macos-15-intel', 'macos-14']
53+ python-version : ['3.8', '3.13']
54+
55+ steps :
56+ - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
57+ with :
58+ fetch-depth : 0
59+
60+ - uses : astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
61+
62+ - name : Run package tests
63+ run : |
64+ uvx --python 3.8 --isolated --with-editable . pytest
65+ uvx --python 3.13 --isolated --with-editable . pytest
0 commit comments