24
24
outputs :
25
25
sessions : ${{ steps.set-matrix.outputs.sessions }}
26
26
steps :
27
- - uses : actions/checkout@v3
28
- - uses : wntrblm/nox@main
29
- - run : pipx install poetry
30
- - run : pipx inject nox nox-poetry
27
+ - uses : actions/checkout@v4
28
+ - run : pip install poetry nox nox-poetry
31
29
- id : set-matrix
32
30
shell : bash
33
31
run : |
@@ -51,36 +49,25 @@ jobs:
51
49
session : ${{ fromJson(needs.generate-jobs-tests.outputs.sessions) }}
52
50
53
51
steps :
54
- - uses : actions/checkout@v3
52
+ - uses : actions/checkout@v4
55
53
- uses : ikalnytskyi/action-setup-postgres@v4
56
- - uses : wntrblm/nox@main
57
- with :
58
- python-versions : " 3.8, 3.9, 3.10, 3.11, 3.12"
59
-
60
- - name : Pip and nox cache
61
- id : cache
62
- uses : actions/cache@v3
54
+ - uses : actions/setup-python@v5
63
55
with :
64
- path : |
65
- ~/.cache
66
- ~/.nox
67
- .nox
68
- key : ${{ runner.os }}-nox-${{ matrix.session.session }}-${{
69
- hashFiles('**/poetry.lock') }}-${{ hashFiles('**/noxfile.py') }}
70
- restore-keys : |
71
- ${{ runner.os }}-nox-${{ matrix.session.session }}-
72
- ${{ runner.os }}-nox-
73
-
74
- - run : pipx install coverage
75
- - run : pipx install poetry
76
- - run : pipx inject nox nox-poetry
56
+ python-version : |
57
+ 3.8
58
+ 3.9
59
+ 3.10
60
+ 3.11
61
+ 3.12
62
+ 3.13-dev
63
+
64
+ - run : pip install poetry nox nox-poetry coverage
77
65
- run : nox -r -t tests -s "${{ matrix.session.session }}"
78
-
79
66
- name : coverage xml
80
67
run : coverage xml -i
81
68
if : ${{ always() }}
82
69
83
- - uses : codecov/codecov-action@v3
70
+ - uses : codecov/codecov-action@v4
84
71
if : ${{ always() }}
85
72
with :
86
73
token : ${{ secrets.CODECOV_TOKEN }}
@@ -94,65 +81,66 @@ jobs:
94
81
fail-fast : false
95
82
96
83
steps :
97
- - uses : actions/checkout@v3
84
+ - uses : actions/checkout@v4
98
85
- run : pipx install poetry
99
- - uses : actions/setup-python@v4
86
+ - uses : actions/setup-python@v5
100
87
id : setup-python
101
88
with :
102
- python-version : " 3.12.0-rc.2 "
89
+ python-version : " 3.12"
103
90
architecture : x64
104
91
cache : " poetry"
105
92
106
- - run : poetry env use 3.12.0-rc.2
107
- - run : poetry run pip install --upgrade pip setuptools wheel
93
+ - run : poetry env use 3.12
108
94
- run : poetry install
109
95
if : steps.setup-python.outputs.cache-hit != 'true'
110
96
111
97
- name : Run benchmarks
112
- uses : CodSpeedHQ/action@v1
98
+ uses : CodSpeedHQ/action@v2
113
99
with :
114
100
token : ${{ secrets.CODSPEED_TOKEN }}
115
101
run : poetry run pytest tests/benchmarks --codspeed
116
102
117
103
lint :
118
104
name : ✨ Lint
119
105
runs-on : ubuntu-latest
120
- strategy :
121
- fail-fast : false
122
106
123
107
steps :
124
- - uses : actions/checkout@v3
125
- - uses : wntrblm/nox@main
108
+ - uses : actions/checkout@v4
109
+ - uses : actions/setup-python@v5
126
110
with :
127
- python-versions : " 3.8, 3.9, 3.10, 3.11, 3.12"
111
+ python-version : |
112
+ 3.8
113
+ 3.9
114
+ 3.10
115
+ 3.11
116
+ 3.12
128
117
129
118
- name : Pip and nox cache
130
119
id : cache
131
- uses : actions/cache@v3
120
+ uses : actions/cache@v4
132
121
with :
133
122
path : |
134
123
~/.cache
135
124
~/.nox
136
125
.nox
137
- key : ${{ runner.os }}-nox-lint-${{ matrix.session.session }}-${{
126
+ key :
127
+ ${{ runner.os }}-nox-lint-${{ env.pythonLocation }}-${{
138
128
hashFiles('**/poetry.lock') }}-${{ hashFiles('**/noxfile.py') }}
139
129
restore-keys : |
140
- ${{ runner.os }}-lint-nox-${{ matrix.session.session }}-
141
- ${{ runner.os }}-lint-nox-
130
+ ${{ runner.os }}-nox-lint-${{ env.pythonLocation }}
142
131
143
- - run : pipx install poetry
144
- - run : pipx inject nox nox-poetry
132
+ - run : pip install poetry nox nox-poetry uv
145
133
- run : nox -r -t lint
146
134
147
135
unit-tests-on-windows :
148
136
name : 🪟 Tests on Windows
149
137
runs-on : windows-latest
150
138
151
139
steps :
152
- - uses : actions/checkout@v3
140
+ - uses : actions/checkout@v4
153
141
- run : pipx install poetry
154
142
- run : pipx install coverage
155
- - uses : actions/setup-python@v4
143
+ - uses : actions/setup-python@v5
156
144
id : setup-python
157
145
with :
158
146
python-version : " 3.11"
@@ -164,14 +152,14 @@ jobs:
164
152
165
153
# we use poetry directly instead of nox since we want to
166
154
# test all integrations at once on windows
155
+ # but we want to exclude tests/mypy since we are using an old version of pydantic
167
156
- run : |
168
157
poetry run pytest --cov=. --cov-append --cov-report=xml -n auto --showlocals -vv
169
-
170
158
- name : coverage xml
171
159
run : coverage xml -i
172
160
if : ${{ always() }}
173
161
174
- - uses : codecov/codecov-action@v3
162
+ - uses : codecov/codecov-action@v4
175
163
if : ${{ always() }}
176
164
with :
177
165
token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments