Skip to content

Commit b2bf7b5

Browse files
Merge pull request #150 from robbievanleeuwen/dependency/update-dependencies-20250430
Support python 3.13, drop python 3.10, update dependencies
2 parents ef01c2a + dc4371d commit b2bf7b5

20 files changed

+1480
-1342
lines changed

.github/workflows/ci.yml

Lines changed: 118 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ name: CI
33
on:
44
push:
55
branches:
6-
- master
6+
- master
77
pull_request:
88
types: [opened, reopened, synchronize]
99

1010
env:
11-
UV_VERSION: "0.4.28"
12-
DEFAULT_PYTHON_VERSION: "3.12"
11+
UV_VERSION: 0.6.17
12+
DEFAULT_PYTHON_VERSION: '3.13'
1313

1414
concurrency:
1515
group: ${{ github.workflow }}-${{ github.ref }}
@@ -21,46 +21,48 @@ jobs:
2121
runs-on: ubuntu-latest
2222

2323
steps:
24-
- name: Check out the repo
25-
uses: actions/checkout@v4
24+
- name: Check out the repo
25+
uses: actions/checkout@v4
2626

27-
- name: Install uv version ${{ env.UV_VERSION }}
28-
uses: astral-sh/setup-uv@v3
29-
with:
30-
version: ${{ env.UV_VERSION }}
31-
enable-cache: true
27+
- name: Install uv version ${{ env.UV_VERSION }}
28+
uses: astral-sh/setup-uv@v6
29+
with:
30+
version: ${{ env.UV_VERSION }}
31+
enable-cache: true
3232

33-
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
34-
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
33+
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
34+
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
3535

36-
- name: Install dependencies
37-
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group lint
36+
- name: Install dependencies
37+
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group lint
3838

39-
- name: Run pre-commit
40-
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pre-commit run --all-files --color always --show-diff-on-failure
39+
- name: Run pre-commit
40+
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pre-commit run --all-files
41+
--color always --show-diff-on-failure
4142

4243
type-checking:
4344
name: type-checking
4445
runs-on: ubuntu-latest
4546

4647
steps:
47-
- name: Check out the repo
48-
uses: actions/checkout@v4
48+
- name: Check out the repo
49+
uses: actions/checkout@v4
4950

50-
- name: Install uv version ${{ env.UV_VERSION }}
51-
uses: astral-sh/setup-uv@v3
52-
with:
53-
version: ${{ env.UV_VERSION }}
54-
enable-cache: true
51+
- name: Install uv version ${{ env.UV_VERSION }}
52+
uses: astral-sh/setup-uv@v6
53+
with:
54+
version: ${{ env.UV_VERSION }}
55+
enable-cache: true
5556

56-
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
57-
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
57+
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
58+
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
5859

59-
- name: Install dependencies
60-
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group test --no-group docs
60+
- name: Install dependencies
61+
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group dev --no-group
62+
docs --no-group test
6163

62-
- name: Run pyright
63-
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pyright
64+
- name: Run pyright
65+
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pyright
6466

6567
tests:
6668
name: ${{ matrix.session }} ${{ matrix.python }} [${{ matrix.os }}]
@@ -69,114 +71,119 @@ jobs:
6971
fail-fast: false
7072
matrix:
7173
include:
72-
- { python: "3.12", os: "ubuntu-latest", session: "tests" }
73-
- { python: "3.11", os: "ubuntu-latest", session: "tests" }
74-
- { python: "3.10", os: "ubuntu-latest", session: "tests" }
75-
- { python: "3.12", os: "windows-latest", session: "tests" }
76-
- { python: "3.11", os: "windows-latest", session: "tests" }
77-
- { python: "3.10", os: "windows-latest", session: "tests" }
78-
- { python: "3.12", os: "macos-latest", session: "tests" }
79-
- { python: "3.11", os: "macos-latest", session: "tests" }
80-
- { python: "3.10", os: "macos-latest", session: "tests" }
81-
- { python: "3.12", os: "macos-13", session: "tests" }
82-
- { python: "3.11", os: "macos-13", session: "tests" }
83-
- { python: "3.10", os: "macos-13", session: "tests" }
74+
- {python: '3.13', os: ubuntu-latest, session: tests}
75+
- {python: '3.12', os: ubuntu-latest, session: tests}
76+
- {python: '3.11', os: ubuntu-latest, session: tests}
77+
- {python: '3.13', os: windows-latest, session: tests}
78+
- {python: '3.12', os: windows-latest, session: tests}
79+
- {python: '3.11', os: windows-latest, session: tests}
80+
- {python: '3.13', os: macos-latest, session: tests}
81+
- {python: '3.12', os: macos-latest, session: tests}
82+
- {python: '3.11', os: macos-latest, session: tests}
83+
- {python: '3.13', os: macos-13, session: tests}
84+
- {python: '3.12', os: macos-13, session: tests}
85+
- {python: '3.11', os: macos-13, session: tests}
8486

8587
steps:
86-
- name: Check out the repo
87-
uses: actions/checkout@v4
88-
89-
- name: Install uv version ${{ env.UV_VERSION }}
90-
uses: astral-sh/setup-uv@v3
91-
with:
92-
version: ${{ env.UV_VERSION }}
93-
enable-cache: true
94-
95-
- name: Install python ${{ matrix.python }} using uv
96-
run: uv python install ${{ matrix.python }}
97-
98-
- name: Install test dependencies
99-
run: uv sync -p ${{ matrix.python }} --frozen --no-group docs --no-group lint
100-
101-
- name: Run pytest
102-
run: uv run -p ${{ matrix.python }} --no-sync coverage run --parallel-mode -m pytest
103-
104-
- name: Upload coverage data
105-
uses: actions/upload-artifact@v4
106-
with:
107-
name: coverage-data-${{ matrix.session }}-${{ matrix.os }}-${{ matrix.python }}
108-
include-hidden-files: true
109-
path: ".coverage.*"
88+
- name: Check out the repo
89+
uses: actions/checkout@v4
90+
91+
- name: Install uv version ${{ env.UV_VERSION }}
92+
uses: astral-sh/setup-uv@v6
93+
with:
94+
version: ${{ env.UV_VERSION }}
95+
enable-cache: true
96+
97+
- name: Install python ${{ matrix.python }} using uv
98+
run: uv python install ${{ matrix.python }}
99+
100+
- name: Install test dependencies
101+
run: uv sync -p ${{ matrix.python }} --frozen --no-group dev --no-group docs
102+
--no-group lint
103+
104+
- name: Run pytest
105+
run: uv run -p ${{ matrix.python }} --no-sync coverage run --parallel-mode -m
106+
pytest
107+
108+
- name: Upload coverage data
109+
uses: actions/upload-artifact@v4
110+
with:
111+
name: coverage-data-${{ matrix.session }}-${{ matrix.os }}-${{ matrix.python
112+
}}
113+
include-hidden-files: true
114+
path: .coverage.*
110115

111116
docs-build:
112117
name: docs-build
113118
runs-on: ubuntu-latest
114119

115120
steps:
116-
- name: Check out the repo
117-
uses: actions/checkout@v4
121+
- name: Check out the repo
122+
uses: actions/checkout@v4
118123

119-
- name: Install uv version ${{ env.UV_VERSION }}
120-
uses: astral-sh/setup-uv@v3
121-
with:
122-
version: ${{ env.UV_VERSION }}
123-
enable-cache: true
124+
- name: Install uv version ${{ env.UV_VERSION }}
125+
uses: astral-sh/setup-uv@v6
126+
with:
127+
version: ${{ env.UV_VERSION }}
128+
enable-cache: true
124129

125-
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
126-
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
130+
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
131+
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
127132

128-
- name: Install dependencies
129-
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group test --no-group lint
133+
- name: Install dependencies
134+
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group dev --no-group
135+
lint --no-group test
130136

131-
- name: Install pandoc
132-
uses: pandoc/actions/setup@v1
137+
- name: Install pandoc
138+
uses: pandoc/actions/setup@v1
133139

134-
- name: Build docs
135-
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync sphinx-build --color docs docs/_build
140+
- name: Build docs
141+
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync sphinx-build --color
142+
docs docs/_build
136143

137-
- name: Upload docs
138-
uses: actions/upload-artifact@v4
139-
with:
140-
name: docs
141-
path: docs/_build
144+
- name: Upload docs
145+
uses: actions/upload-artifact@v4
146+
with:
147+
name: docs
148+
path: docs/_build
142149

143150
coverage:
144151
name: coverage
145152
runs-on: ubuntu-latest
146153
needs: tests
147154

148155
steps:
149-
- name: Check out the repo
150-
uses: actions/checkout@v4
156+
- name: Check out the repo
157+
uses: actions/checkout@v4
151158

152-
- name: Install uv version ${{ env.UV_VERSION }}
153-
uses: astral-sh/setup-uv@v3
154-
with:
155-
version: ${{ env.UV_VERSION }}
156-
enable-cache: true
159+
- name: Install uv version ${{ env.UV_VERSION }}
160+
uses: astral-sh/setup-uv@v6
161+
with:
162+
version: ${{ env.UV_VERSION }}
163+
enable-cache: true
157164

158-
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
159-
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
165+
- name: Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
166+
run: uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
160167

161-
- name: Install dependencies
162-
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group test
168+
- name: Install dependencies
169+
run: uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group test
163170

164-
- name: Download coverage data
165-
uses: actions/download-artifact@v4
166-
with:
167-
pattern: coverage-data-*
168-
merge-multiple: true
171+
- name: Download coverage data
172+
uses: actions/download-artifact@v4
173+
with:
174+
pattern: coverage-data-*
175+
merge-multiple: true
169176

170-
- name: Combine coverage data
171-
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage combine
177+
- name: Combine coverage data
178+
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage combine
172179

173-
- name: Display coverage report
174-
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage report -i
180+
- name: Display coverage report
181+
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage report -i
175182

176-
- name: Create coverage report
177-
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage xml -i
183+
- name: Create coverage report
184+
run: uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage xml -i
178185

179-
- name: Upload coverage report
180-
uses: codecov/codecov-action@v4
181-
with:
182-
token: ${{ secrets.CODECOV_TOKEN }}
186+
- name: Upload coverage report
187+
uses: codecov/codecov-action@v5
188+
with:
189+
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/greetings.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ jobs:
99
issues: write
1010
pull-requests: write
1111
steps:
12-
- uses: actions/first-interaction@v1
13-
with:
14-
repo-token: ${{ secrets.GITHUB_TOKEN }}
15-
issue-message: "Thanks for opening your first issue in ``concreteproperties`` :raised_hands: Pull requests are always welcome :wink:"
16-
pr-message: "Thank you for your contribution to ``concreteproperties`` :pray: We will be reviewing your PR shortly :monocle_face:"
12+
- uses: actions/first-interaction@v1
13+
with:
14+
repo-token: ${{ secrets.GITHUB_TOKEN }}
15+
issue-message: 'Thanks for opening your first issue in ``concreteproperties``
16+
:raised_hands: Pull requests are always welcome :wink:'
17+
pr-message: 'Thank you for your contribution to ``concreteproperties`` :pray:
18+
We will be reviewing your PR shortly :monocle_face:'

.github/workflows/labeler.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ name: Labeler
33
on:
44
push:
55
branches:
6-
- master
6+
- master
77

88
jobs:
99
labeler:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- name: Check out the repository
13-
uses: actions/checkout@v4
12+
- name: Check out the repository
13+
uses: actions/checkout@v4
1414

15-
- name: Run Labeler
16-
uses: crazy-max/ghaction-github-labeler@v5
17-
with:
18-
skip-delete: true
15+
- name: Run Labeler
16+
uses: crazy-max/ghaction-github-labeler@v5
17+
with:
18+
skip-delete: true

0 commit comments

Comments
 (0)