Skip to content

Commit 9028ced

Browse files
committed
ci: add reviewdog for PR inline lint comments
- Biome for JS/TS - Ruff for Python (API + Worker) - Flutter analyze for mobile
1 parent 23b6a38 commit 9028ced

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

.github/workflows/review.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Review
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
7+
permissions:
8+
contents: read
9+
pull-requests: write
10+
11+
jobs:
12+
biome:
13+
name: Biome (JS/TS)
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: pnpm/action-setup@v4
19+
with:
20+
version: 10
21+
22+
- uses: actions/setup-node@v4
23+
with:
24+
node-version: 24
25+
cache: pnpm
26+
27+
- run: pnpm install --frozen-lockfile
28+
29+
- uses: reviewdog/action-setup@v1
30+
31+
- name: Run Biome with reviewdog
32+
env:
33+
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
run: |
35+
pnpm biome check --reporter=json 2>&1 | \
36+
reviewdog -f=biome -reporter=github-pr-review -fail-level=error
37+
38+
ruff:
39+
name: Ruff (Python)
40+
runs-on: ubuntu-latest
41+
steps:
42+
- uses: actions/checkout@v4
43+
44+
- uses: astral-sh/setup-uv@v4
45+
with:
46+
version: latest
47+
48+
- name: Set up Python
49+
run: uv python install 3.13
50+
51+
- uses: reviewdog/action-setup@v1
52+
53+
- name: Run Ruff with reviewdog (API)
54+
env:
55+
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
working-directory: apps/api
57+
run: |
58+
uv sync --frozen
59+
uv run ruff check --output-format=json . 2>&1 | \
60+
reviewdog -f=ruff -reporter=github-pr-review -fail-level=error
61+
62+
- name: Run Ruff with reviewdog (Worker)
63+
env:
64+
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65+
working-directory: apps/worker
66+
run: |
67+
uv sync --frozen
68+
uv run ruff check --output-format=json . 2>&1 | \
69+
reviewdog -f=ruff -reporter=github-pr-review -fail-level=error
70+
71+
flutter:
72+
name: Flutter Analyze
73+
runs-on: ubuntu-latest
74+
steps:
75+
- uses: actions/checkout@v4
76+
77+
- uses: subosito/flutter-action@v2
78+
with:
79+
flutter-version: "3.32.0"
80+
channel: stable
81+
cache: true
82+
83+
- name: Install dependencies
84+
working-directory: apps/mobile
85+
run: flutter pub get
86+
87+
- uses: reviewdog/action-setup@v1
88+
89+
- name: Run Flutter analyze with reviewdog
90+
env:
91+
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92+
working-directory: apps/mobile
93+
run: |
94+
flutter analyze --no-fatal-infos --no-fatal-warnings 2>&1 | \
95+
reviewdog -efm="%f:%l:%c: %m" -name="flutter-analyze" -reporter=github-pr-review -fail-level=error

0 commit comments

Comments
 (0)