diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index afd308b..717e867 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -6,12 +6,25 @@ on:
       - main
 
 jobs:
+  changedpkgs:
+    runs-on: ubuntu-22.04
+    outputs:
+      matrix: ${{ steps.matrix.outputs.pkg }}
+    steps:
+      - id: matrix
+        run: |
+          echo "pkg=[\"dotter-bin\",\"filtile-bin\",\"git-bug-git\",\"ly-git\"]" >> $GITHUB_OUTPUT
+      - run: |
+          echo "${{ steps.matrix.outputs.pkg }}"
+
   build:
+    needs: [ changedpkgs ]
+    runs-on: ubuntu-22.04
     strategy:
       max-parallel: 1
       matrix:
         arch: [x86_64, x86_64-musl]
-    runs-on: ubuntu-22.04
+        pkg: ${{fromJSON(needs.changedpkgs.outputs.matrix)}}
     env:
       XBPS_PASSPHRASE: ${{ secrets.SIGN_PASS }}
       XBPS_TARGET_ARCH: ${{ matrix.arch }}