Skip to content

Commit 16da212

Browse files
ci: sync CI workflow
1 parent 4485183 commit 16da212

1 file changed

Lines changed: 18 additions & 89 deletions

File tree

.github/workflows/ci.yml

Lines changed: 18 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,21 @@ permissions:
1818
contents: read
1919

2020
jobs:
21-
lint:
21+
check:
22+
name: ${{ matrix.name }}
2223
runs-on: ubuntu-latest
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
include:
28+
- name: lint
29+
recipe: lint-check
30+
- name: format
31+
recipe: format-check
32+
- name: type-check
33+
recipe: type-check
34+
- name: test
35+
recipe: test
2336

2437
steps:
2538
- name: Checkout
@@ -42,102 +55,18 @@ jobs:
4255
- name: Install dependencies
4356
run: just sync
4457

45-
- name: Run linter
46-
run: just lint-check
47-
48-
format:
49-
runs-on: ubuntu-latest
50-
51-
steps:
52-
- name: Checkout
53-
uses: actions/checkout@v7
54-
55-
- name: Set up Python
56-
uses: actions/setup-python@v6
57-
with:
58-
python-version-file: .python-version
59-
60-
- name: Install uv
61-
uses: astral-sh/setup-uv@v8.2.0
62-
with:
63-
version: "latest"
64-
enable-cache: true
65-
66-
- name: Install just
67-
uses: extractions/setup-just@v4
68-
69-
- name: Install dependencies
70-
run: just sync
71-
72-
- name: Run formatter
73-
run: just format-check
74-
75-
type-check:
76-
runs-on: ubuntu-latest
77-
78-
steps:
79-
- name: Checkout
80-
uses: actions/checkout@v7
81-
82-
- name: Set up Python
83-
uses: actions/setup-python@v6
84-
with:
85-
python-version-file: .python-version
86-
87-
- name: Install uv
88-
uses: astral-sh/setup-uv@v8.2.0
89-
with:
90-
version: "latest"
91-
enable-cache: true
92-
93-
- name: Install just
94-
uses: extractions/setup-just@v4
95-
96-
- name: Install dependencies
97-
run: just sync
98-
99-
- name: Run type checks
100-
run: just type-check
101-
102-
test:
103-
runs-on: ubuntu-latest
104-
105-
steps:
106-
- name: Checkout
107-
uses: actions/checkout@v7
108-
109-
- name: Set up Python
110-
uses: actions/setup-python@v6
111-
with:
112-
python-version-file: .python-version
113-
114-
- name: Install uv
115-
uses: astral-sh/setup-uv@v8.2.0
116-
with:
117-
version: "latest"
118-
enable-cache: true
119-
120-
- name: Install just
121-
uses: extractions/setup-just@v4
122-
123-
- name: Install dependencies
124-
run: just sync
125-
126-
- name: Run tests
127-
run: just test
58+
- name: Run ${{ matrix.name }}
59+
run: just ${{ matrix.recipe }}
12860

12961
checks:
13062
if: always()
131-
needs: [lint, format, type-check, test]
63+
needs: [check]
13264
runs-on: ubuntu-latest
13365

13466
steps:
13567
- name: Verify all checks passed
13668
run: |
137-
if [[ "${{ needs.lint.result }}" != "success" || \
138-
"${{ needs.format.result }}" != "success" || \
139-
"${{ needs['type-check'].result }}" != "success" || \
140-
"${{ needs.test.result }}" != "success" ]]; then
69+
if [[ "${{ needs.check.result }}" != "success" ]]; then
14170
echo "One or more checks failed"
14271
exit 1
14372
fi

0 commit comments

Comments
 (0)