mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1name: Lockfile
2
3on:
4 pull_request:
5concurrency:
6 group: '${{ github.workflow }}-${{ github.head_ref || github.ref }}'
7 cancel-in-progress: true
8
9jobs:
10 verify-yarn-lock:
11 name: No manual yarn.lock edits
12 runs-on: ubuntu-latest
13 steps:
14 - name: Check out PR HEAD
15 uses: actions/checkout@v3
16 with:
17 fetch-depth: 0
18
19 - name: Fetch base branch
20 run: git fetch origin ${{ github.base_ref }} --depth=1
21
22 - name: Install node
23 uses: actions/setup-node@v4
24 with:
25 node-version-file: .nvmrc
26
27 - name: Reset yarn.lock to base
28 run: git show "origin/${{ github.base_ref }}:yarn.lock" > yarn.lock
29
30 - name: Yarn install
31 uses: Wandalen/wretry.action@master
32 with:
33 # Fine to skip scripts since we don't run any code
34 command: yarn install --ignore-scripts
35 attempt_limit: 3
36 attempt_delay: 2000
37
38 - name: Verify yarn.lock
39 run: |
40 git diff --quiet --exit-code || {
41 echo '::error::`yarn.lock` does not match what Yarn would generate given the base `yarn.lock` and the head `package.json`.'
42 echo '::error:: - If this is intentional, you can ignore this check.'
43 echo '::error:: - If this is unintentional, apply the following diff:'
44 git --no-pager diff
45 exit 1
46 }