Skip to content

Commit f75b02e

Browse files
committed
chore: share gh actions setup across jobs
1 parent b5a462e commit f75b02e

File tree

2 files changed

+25
-21
lines changed

2 files changed

+25
-21
lines changed

.github/actions/setup/action.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Setup Python and Dependencies
2+
description: Checkout code, install uv, and sync dependencies
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- uses: actions/checkout@v4
8+
9+
- name: Install uv
10+
uses: astral-sh/setup-uv@v4
11+
with:
12+
enable-cache: true
13+
14+
- name: Cache virtual environment
15+
uses: actions/cache@v4
16+
with:
17+
path: .venv
18+
key: venv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
19+
20+
- name: Install dependencies
21+
shell: bash
22+
run: uv sync --all-groups

.github/workflows/ci.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,23 @@ jobs:
1010
lint:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
14-
15-
- name: Install uv
16-
uses: astral-sh/setup-uv@v4
17-
18-
- name: Install dependencies
19-
run: uv sync --all-groups
13+
- uses: ./.github/actions/setup
2014

2115
- name: Run linter
2216
run: uv run ruff check src tests
2317

2418
typecheck:
2519
runs-on: ubuntu-latest
2620
steps:
27-
- uses: actions/checkout@v4
28-
29-
- name: Install uv
30-
uses: astral-sh/setup-uv@v4
31-
32-
- name: Install dependencies
33-
run: uv sync --all-groups
21+
- uses: ./.github/actions/setup
3422

3523
- name: Run type checker
3624
run: uv run ty check src
3725

3826
test:
3927
runs-on: ubuntu-latest
4028
steps:
41-
- uses: actions/checkout@v4
42-
43-
- name: Install uv
44-
uses: astral-sh/setup-uv@v4
45-
46-
- name: Install dependencies
47-
run: uv sync --all-groups
29+
- uses: ./.github/actions/setup
4830

4931
- name: Run tests
5032
run: uv run pytest

0 commit comments

Comments
 (0)