A social knowledge tool for researchers built on ATProto
at main 103 lines 2.5 kB view raw
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 steps: 76 - name: Checkout code 77 uses: actions/checkout@v4 78 79 - name: Setup Node.js 80 uses: actions/setup-node@v4 81 with: 82 node-version: '20' 83 84 - name: Restore dependencies 85 uses: actions/cache@v4 86 with: 87 path: | 88 node_modules 89 src/webapp/node_modules 90 src/types/node_modules 91 key: ${{ runner.os }}-deps-${{ hashFiles('package-lock.json') }} 92 93 - name: Install dependencies (if cache miss) 94 run: | 95 if [ ! -d "node_modules" ]; then 96 npm ci 97 fi 98 99 - name: Lint root 100 run: npm run lint 101 102 - name: Lint webapp 103 run: cd src/webapp && npm run lint