14
14
LANG : en_US.utf-8
15
15
LC_ALL : en_US.utf-8
16
16
PYTHONIOENCODING : UTF-8
17
+ PYTHON_VERSIONS : " "
17
18
18
19
jobs :
19
20
@@ -28,28 +29,51 @@ jobs:
28
29
- name : Fetch all tags
29
30
run : git fetch --depth=1 --tags
30
31
31
- - name : Set up PDM
32
- uses : pdm-project /setup-pdm@v4
32
+ - name : Set up Python
33
+ uses : actions /setup-python@v5
33
34
with :
34
- python-version : " 3.8 "
35
+ python-version : " 3.11 "
35
36
36
- - name : Resolving dependencies
37
- run : pdm lock -v --no-cross-platform -G ci-quality
37
+ - name : Install uv
38
+ run : pip install uv
38
39
39
40
- name : Install dependencies
40
- run : pdm install -G ci-quality
41
+ run : make setup
41
42
42
43
- name : Check if the documentation builds correctly
43
- run : pdm run duty check-docs
44
+ run : make check-docs
44
45
45
46
- name : Check the code quality
46
- run : pdm run duty check-quality
47
+ run : make check-quality
47
48
48
49
- name : Check if the code is correctly typed
49
- run : pdm run duty check-types
50
+ run : make check-types
50
51
51
52
- name : Check for vulnerabilities in dependencies
52
- run : pdm run duty check-dependencies
53
+ run : make check-dependencies
54
+
55
+ - name : Check for breaking changes in the API
56
+ run : make check-api
57
+
58
+ exclude-test-jobs :
59
+ runs-on : ubuntu-latest
60
+ outputs :
61
+ jobs : ${{ steps.exclude-jobs.outputs.jobs }}
62
+ steps :
63
+ - id : exclude-jobs
64
+ run : |
65
+ if ${{ github.repository_owner == 'pawamoy-insiders' }}; then
66
+ echo 'jobs=[
67
+ {"os": "macos-latest"},
68
+ {"os": "windows-latest"},
69
+ {"python-version": "3.9"},
70
+ {"python-version": "3.10"},
71
+ {"python-version": "3.11"},
72
+ {"python-version": "3.12"}
73
+ ]' | tr -d '[:space:]' >> $GITHUB_OUTPUT
74
+ else
75
+ echo 'jobs=[]' >> $GITHUB_OUTPUT
76
+ fi
53
77
54
78
- name : Check for breaking changes in the API
55
79
run : pdm run duty check-api
@@ -98,17 +122,20 @@ jobs:
98
122
- name : Checkout
99
123
uses : actions/checkout@v4
100
124
101
- - name : Set up PDM
102
- uses : pdm-project /setup-pdm@v4
125
+ - name : Set up Python
126
+ uses : actions /setup-python@v5
103
127
with :
104
128
python-version : ${{ matrix.python-version }}
105
- allow-python- prereleases : true
129
+ allow-prereleases : true
106
130
107
- - name : Resolving dependencies
108
- run : pdm lock -v --no-cross-platform -G ci-tests
131
+ - name : Install uv
132
+ run : pip install uv
109
133
110
134
- name : Install dependencies
111
- run : pdm install --no-editable -G ci-tests
135
+ run : |
136
+ uv venv
137
+ uv pip install -r devdeps.txt
138
+ uv pip install "mkdocstrings-python @ ."
112
139
113
140
- name : Run the test suite
114
- run : pdm run duty test
141
+ run : make test
0 commit comments