diff --git a/.github/actions/prepare-backend/action.yml b/.github/actions/prepare-backend/action.yml
index 58fa721ab2da45fde72f09d646f67495e5474139..23d3e109208613bc268a50c712c6c49614a73441 100644
--- a/.github/actions/prepare-backend/action.yml
+++ b/.github/actions/prepare-backend/action.yml
@@ -15,7 +15,7 @@ runs:
   using: "composite"
   steps:
     - name: Prepare JDK ${{ inputs.java-version }}
-      uses: actions/setup-java@v2
+      uses: actions/setup-java@v3
       with:
         java-version: ${{ inputs.java-version }}
         distribution: 'temurin'
@@ -25,9 +25,11 @@ runs:
         curl -O https://download.clojure.org/install/linux-install-${{ inputs.clojure-version }}.sh &&
         sudo bash ./linux-install-${{ inputs.clojure-version }}.sh
     - name: Get M2 cache
-      uses: actions/cache@v2
+      uses: actions/cache@v3
       with:
         path: |
           ~/.m2
           ~/.gitlibs
         key: ${{ runner.os }}-${{ inputs.m2-cache-key }}-${{ hashFiles('**/deps.edn') }}
+        restore-keys: |
+          ${{ runner.os }}-${{ inputs.m2-cache-key }}-
diff --git a/.github/actions/prepare-cypress/action.yml b/.github/actions/prepare-cypress/action.yml
index 85cfc8d0c34da6846b936eb47074d32c1490a7b1..b79af9b2124b6c65b0f6ad377cbb42d87aa566b1 100644
--- a/.github/actions/prepare-cypress/action.yml
+++ b/.github/actions/prepare-cypress/action.yml
@@ -3,7 +3,7 @@ runs:
   using: "composite"
   steps:
     - name: Get Cypress cache
-      uses: actions/cache@v2
+      uses: actions/cache@v3
       with:
         path: ~/.cache/Cypress
         key: ${{ runner.os }}-Cypress-${{ hashFiles('**/yarn.lock') }}
diff --git a/.github/actions/prepare-frontend/action.yml b/.github/actions/prepare-frontend/action.yml
index db83142b013d7b70c6e9fc54319043fba1a4cfcb..36f96fad3551a3d4e8250c5472840d8ad2e891a7 100644
--- a/.github/actions/prepare-frontend/action.yml
+++ b/.github/actions/prepare-frontend/action.yml
@@ -8,12 +8,12 @@ runs:
         node-version: 14.x
         cache: 'yarn'
     - name: Get M2 cache
-      uses: actions/cache@v2
+      uses: actions/cache@v3
       with:
         path: ~/.m2
         key: ${{ runner.os }}-cljs-${{ hashFiles('**/shadow-cljs.edn') }}
     - name: Get node_modules cache
-      uses: actions/cache@v2
+      uses: actions/cache@v3
       with:
         path: node_modules
         key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
diff --git a/.github/workflows/uberjar.yml b/.github/workflows/uberjar.yml
index db568d68b0cb90ab57cb11465fc5d4cc88b705a3..9e6e0b1da12c1b2c2c9e5c00d8505f48d4f38d9f 100644
--- a/.github/workflows/uberjar.yml
+++ b/.github/workflows/uberjar.yml
@@ -42,7 +42,7 @@ jobs:
         java-version: [8, 11, 17]
     steps:
     - name: Prepare JRE (Java Run-time Environment)
-      uses: actions/setup-java@v1
+      uses: actions/setup-java@v3
       with:
         java-package: jre
         java-version: ${{ matrix.java-version }}