diff --git a/.github/workflows/appbuild.yml b/.github/workflows/appbuild.yml
index 711ea7c1e..b1e2f3251 100644
--- a/.github/workflows/appbuild.yml
+++ b/.github/workflows/appbuild.yml
@@ -37,7 +37,7 @@ jobs:
         uname -a
         RUST_BACKTRACE=1 krankerl --version
         RUST_BACKTRACE=1 krankerl package
-    - uses: actions/upload-artifact@v3
+    - uses: actions/upload-artifact@v4
       with:
         name: Deck app tarball
         path: build/artifacts/deck.tar.gz
diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml
index 367a4c8af..3456a5f68 100644
--- a/.github/workflows/cypress.yml
+++ b/.github/workflows/cypress.yml
@@ -106,7 +106,7 @@ jobs:
           npm_package_name: ${{ env.APP_NAME }}
 
       - name: Upload test failure screenshots
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         if: failure()
         with:
           name: Upload screenshots
@@ -114,7 +114,7 @@ jobs:
           retention-days: 5
 
       - name: Upload nextcloud logs
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         if: failure()
         with:
           name: Upload nextcloud log