diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 50d86e696b1985f992566dce9e0e8f8234846232..b5c801c64248e1d56df57fc79c23f7525d5f1336 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -8,14 +8,30 @@ on:
   pull_request:
 
 jobs:
+  yarn_install:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+      with:
+        fetch-depth: 0
+        submodules: true
+    - uses: actions/setup-node@v3.2.0
+      with:
+        node-version: 18.x
+        cache: 'yarn'
+    - run: corepack enable
+    - run: yarn install --immutable
+
   lint:
+    needs: [yarn_install]
+    runs-on: ubuntu-latest
+    continue-on-error: true
     strategy:
       matrix:
         workspace:
         - backend
         - client
         - sw
-    runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
       with: