Skip to content

Commit 768f344

Browse files
feat: Add deptry, refactor test.yaml (#152)
* feat: Add deptry, refactor test.yaml * fix: Correct usage of action.yaml * fix: Move checkout to test.yaml
1 parent 74cb6bd commit 768f344

File tree

3 files changed

+48
-30
lines changed

3 files changed

+48
-30
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Setup Python Environment with uv
2+
description: Sets up Python, installs uv, and creates the virtual environment.
3+
inputs:
4+
only-dev:
5+
description: Whether to install only dev dependencies
6+
required: false
7+
default: 'false'
8+
9+
runs:
10+
using: composite
11+
steps:
12+
- name: Install uv
13+
uses: astral-sh/setup-uv@v5
14+
with:
15+
enable-cache: true
16+
17+
- name: Set up Python
18+
uses: actions/setup-python@v5
19+
with:
20+
python-version-file: pyproject.toml
21+
22+
- name: Install dependencies
23+
if: steps.cache-venv.outputs.cache-hit != 'true'
24+
shell: bash
25+
run: |-
26+
if [[ "${{ inputs.only-dev }}" == "true" ]]; then
27+
uv sync --only-dev
28+
else
29+
uv sync
30+
fi

.github/workflows/test.yaml

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,8 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v4
14-
- name: Install uv
15-
uses: astral-sh/setup-uv@v5
16-
with:
17-
enable-cache: true
18-
- name: Set up Python
19-
uses: actions/setup-python@v5
20-
with:
21-
python-version-file: pyproject.toml
22-
- name: Install the project
23-
run: uv sync --only-dev
14+
- name: Setup venv
15+
uses: ./.github/actions/setup-venv
2416
- name: Run tests
2517
id: run-tests
2618
run: >
@@ -41,16 +33,10 @@ jobs:
4133
runs-on: ubuntu-latest
4234
steps:
4335
- uses: actions/checkout@v4
44-
- name: Install uv
45-
uses: astral-sh/setup-uv@v5
46-
with:
47-
enable-cache: true
48-
- name: Set up Python
49-
uses: actions/setup-python@v5
36+
- name: Setup venv
37+
uses: ./.github/actions/setup-venv
5038
with:
51-
python-version-file: pyproject.toml
52-
- name: Install the project
53-
run: uv sync --only-dev
39+
only-dev: true
5440
- name: Ruff format
5541
run: uv run ruff format --check
5642
- name: Ruff check
@@ -60,15 +46,16 @@ jobs:
6046
runs-on: ubuntu-latest
6147
steps:
6248
- uses: actions/checkout@v4
63-
- name: Install uv
64-
uses: astral-sh/setup-uv@v5
65-
with:
66-
enable-cache: true
67-
- name: Set up Python
68-
uses: actions/setup-python@v5
69-
with:
70-
python-version-file: pyproject.toml
71-
- name: Install the project
72-
run: uv sync --only-dev
49+
- name: Setup venv
50+
uses: ./.github/actions/setup-venv
7351
- run: |
7452
uv run mypy .
53+
54+
deptry:
55+
runs-on: ubuntu-latest
56+
steps:
57+
- uses: actions/checkout@v4
58+
- name: Setup venv
59+
uses: ./.github/actions/setup-venv
60+
- run: |-
61+
uv run deptry ./src

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ dev = [
1616
"mypy>=1.13.0",
1717
"pre-commit>=4.0.1",
1818
"pytest-cov>=6.0.0",
19-
"ruff>=0.8.1"
19+
"ruff>=0.8.1",
20+
"deptry>=0.23.0"
2021
]
2122
docs = ["pdoc>=15.0.0"]
2223

0 commit comments

Comments
 (0)