-
Notifications
You must be signed in to change notification settings - Fork 2
130 lines (112 loc) · 3.29 KB
/
run-checks.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Run Checks
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
check-api:
name: Check API
runs-on: ubuntu-latest
defaults:
run:
working-directory: apps/api
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
cache-dependency-path: |
apps/api/requirements.txt
apps/api/requirements-dev.txt
- name: Install xmlsec dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libxml2-dev libxmlsec1-dev libxmlsec1-openssl
version: 1.0
- name: Install Python dependencies
run: pip install -r requirements.txt -r requirements-dev.txt
- name: Format with Black
uses: reviewdog/action-black@v3
with:
workdir: apps/api
level: warning
reporter: github-pr-review
filter_mode: file
- name: Lint with flake8
uses: reviewdog/action-flake8@v3
with:
workdir: apps/api
level: warning
reporter: github-pr-review
filter_mode: nofilter
- name: Cache `.mypy_cache`
uses: actions/cache@v3
with:
path: ${{ github.workspace }}/.mypy_cache
key: ${{ runner.os }}-python3.9-mypy-cache
- name: Lint with mypy (review)
uses: tsuyoshicho/action-mypy@v5
if: github.event_name == 'pull_request'
with:
workdir: apps/api
level: error
reporter: github-pr-review
filter_mode: nofilter
- name: Run mypy (check)
uses: tsuyoshicho/action-mypy@v4
if: github.event_name == 'push'
with:
workdir: apps/api
level: error
reporter: github-check
- name: Run tests with pytest
run: pytest
# uses: reviewdog/action-pytest@v1 (WIP)
# with:
# reporter: github-pr-review
# level: error
check-frontend:
name: Check Site
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
# pnpm version will be determined by `packageManager` in `package.json`
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
- name: Install frontend dependencies
run: pnpm install
- name: Format with Prettier
uses: EPMatt/reviewdog-action-prettier@v1
with:
level: warning
reporter: github-pr-review
filter_mode: file
prettier_flags: apps/site/src
- name: Lint with ESLint (review)
uses: reviewdog/action-eslint@v1
if: github.event_name == 'pull_request'
with:
level: error
reporter: github-pr-review
filter_mode: nofilter
eslint_flags: apps/site/src
- name: Lint with ESLint (check)
uses: reviewdog/action-eslint@v1
if: github.event_name == 'push'
with:
workDir: apps/site
level: error
reporter: github-check
eslint_flags: src