Browse Source

meta: add a CI check to validate `yarn.lock` (#4154)

Antoine du Hamel 2 years ago
parent
commit
5c81ec4f09
1 changed files with 37 additions and 0 deletions
  1. 37 0
      .github/workflows/lockile_check.yml

+ 37 - 0
.github/workflows/lockile_check.yml

@@ -0,0 +1,37 @@
+name: Lockfile checks
+
+on:
+  push:
+    branches: [ main ]
+    paths:
+      - yarn.lock
+  pull_request:
+    # We want all branches so we configure types to be the GH default again
+    types: [ opened, synchronize, reopened ]
+    paths:
+      - yarn.lock
+
+jobs:
+  lint_lockfile:
+    name: Lint yarn.lock
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout sources
+        uses: actions/checkout@v3
+      - name: Get yarn cache directory path
+        id: yarn-cache-dir-path
+        run: echo "::set-output name=dir::$(corepack yarn config get cacheFolder)"
+
+      - uses: actions/cache@v3
+        id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
+        with:
+          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
+          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
+          restore-keys: |
+            ${{ runner.os }}-yarn-
+      - name: Install Node.js
+        uses: actions/setup-node@v3
+        with:
+          node-version: lts/*
+      - name: Install dependencies
+        run: corepack yarn install --immutable --mode=skip-build