This repository has no description
1name: Lint and Format Check
2
3on:
4 push:
5 branches: [main, development]
6 pull_request:
7 branches: [main, development]
8
9jobs:
10 dependencies:
11 name: Install Dependencies
12 runs-on: ubuntu-latest
13 outputs:
14 cache-hit: ${{ steps.cache-deps.outputs.cache-hit }}
15 steps:
16 - name: Checkout code
17 uses: actions/checkout@v4
18
19 - name: Setup Node.js
20 uses: actions/setup-node@v4
21 with:
22 node-version: '20'
23
24 - name: Cache dependencies
25 id: cache-deps
26 uses: actions/cache@v4
27 with:
28 path: |
29 node_modules
30 src/webapp/node_modules
31 src/types/node_modules
32 key: ${{ runner.os }}-deps-${{ hashFiles('package-lock.json') }}
33 restore-keys: |
34 ${{ runner.os }}-deps-
35
36 - name: Install dependencies
37 if: steps.cache-deps.outputs.cache-hit != 'true'
38 run: npm ci
39
40 format-check:
41 name: Format Check
42 runs-on: ubuntu-latest
43 needs: dependencies
44 steps:
45 - name: Checkout code
46 uses: actions/checkout@v4
47
48 - name: Setup Node.js
49 uses: actions/setup-node@v4
50 with:
51 node-version: '20'
52
53 - name: Restore dependencies
54 uses: actions/cache@v4
55 with:
56 path: |
57 node_modules
58 src/webapp/node_modules
59 src/types/node_modules
60 key: ${{ runner.os }}-deps-${{ hashFiles('package-lock.json') }}
61
62 - name: Install dependencies (if cache miss)
63 run: |
64 if [ ! -d "node_modules" ]; then
65 npm ci
66 fi
67
68 - name: Check formatting
69 run: npm run format:check
70
71 lint:
72 name: Lint
73 runs-on: ubuntu-latest
74 needs: dependencies
75 if: false
76 steps:
77 - name: Checkout code
78 uses: actions/checkout@v4
79
80 - name: Setup Node.js
81 uses: actions/setup-node@v4
82 with:
83 node-version: '20'
84
85 - name: Restore dependencies
86 uses: actions/cache@v4
87 with:
88 path: |
89 node_modules
90 src/webapp/node_modules
91 src/types/node_modules
92 key: ${{ runner.os }}-deps-${{ hashFiles('package-lock.json') }}
93
94 - name: Install dependencies (if cache miss)
95 run: |
96 if [ ! -d "node_modules" ]; then
97 npm ci
98 fi
99
100 - name: Lint root
101 run: npm run lint
102
103 - name: Lint webapp
104 run: cd src/webapp && npm run lint