diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index cf0176deb432431c8f2b92c64817fb457cd0c08f..2312b47b9c6dac92652d03a03b2ca243daaf49a3 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -1,8 +1,14 @@
 name: Build Documentation
 on:
   push:
+    paths:
+      - 'docs/**'
+      - '.github/workflows/build-docs.yml'
   pull_request:
     types: [opened, synchronize, reopened]
+    paths:
+      - 'docs**/'
+      - '.github/workflows/build-docs.yml'
 jobs:
   build-documentation:
     name: docs
diff --git a/.github/workflows/build-gluon.yml b/.github/workflows/build-gluon.yml
index 9e4ce9a3e44db17cc282698770cd87bf00cf80de..889bfb828f77445420d0b0db40fce39b8748c2b0 100644
--- a/.github/workflows/build-gluon.yml
+++ b/.github/workflows/build-gluon.yml
@@ -9,8 +9,24 @@ on:
       - master
       - next
       - v20*
+    paths:
+      - "modules"
+      - "Makefile"
+      - "scripts/**"
+      - "package/**"
+      - "patches/**"
+      - "targets/**"
+      - ".github/workflows/build-gluon.yml"
   pull_request:
     types: [opened, synchronize, reopened]
+    paths:
+      - "modules"
+      - "Makefile"
+      - "scripts/**"
+      - "package/**"
+      - "patches/**"
+      - "targets/**"
+      - ".github/workflows/build-gluon.yml"
 jobs:
   build_firmware:
     strategy:
diff --git a/.github/workflows/check-patches.yml b/.github/workflows/check-patches.yml
index ecdaf0d7328b8b4ba638fc89c8fbdcf75cc49006..2aeb09fdb9b86598f1a68a6ed62b6f077972d08d 100644
--- a/.github/workflows/check-patches.yml
+++ b/.github/workflows/check-patches.yml
@@ -1,8 +1,17 @@
+---
 name: Check patches
 on:
   push:
+    paths:
+      - 'modules'
+      - 'patches/**'
+      - '.github/workflows/check-patches.yml'
   pull_request:
     types: [opened, synchronize, reopened]
+    paths:
+      - 'modules'
+      - 'patches/**'
+      - '.github/workflows/check-patches.yml'
 jobs:
   check-patches:
     name: Check patches
diff --git a/contrib/actions/generate-actions.py b/contrib/actions/generate-actions.py
index 78d5b2a544e0ba0b0f601cf46308a0d72ee8d642..3b5a09840cbe97ca301deb127615c27b97192c87 100755
--- a/contrib/actions/generate-actions.py
+++ b/contrib/actions/generate-actions.py
@@ -13,8 +13,24 @@ on:
       - master
       - next
       - v20*
+    paths:
+      - "modules"
+      - "Makefile"
+      - "scripts/**"
+      - "package/**"
+      - "patches/**"
+      - "targets/**"
+      - ".github/workflows/build-gluon.yml"
   pull_request:
     types: [opened, synchronize, reopened]
+    paths:
+      - "modules"
+      - "Makefile"
+      - "scripts/**"
+      - "package/**"
+      - "patches/**"
+      - "targets/**"
+      - ".github/workflows/build-gluon.yml"
 jobs:
   build_firmware:
     strategy: