diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml
index 3851bf148..221090544 100644
--- a/.github/workflows/review.yml
+++ b/.github/workflows/review.yml
@@ -18,6 +18,23 @@ jobs:
 
       - name: Check with Maven
         run: mvn -B -V license:check --file pom.xml
+  pmd:
+    runs-on: 'ubuntu-latest'
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-java@v4
+        with:
+          distribution: 'temurin'
+          java-version: '17'
+      - name: Run PMD
+        uses: pmd/pmd-github-action@v2
+        with:
+          version: 'latest'
+          sourcePath: './src/main/java'
+          rulesets: './src/main/resources/maven-pmd-plugin-default.xml'
+      - name: Fail build if there are violations
+        if: steps.pmd.outputs.violations != 0
+        run: exit 1
   checkstyle:
     runs-on: 'ubuntu-latest'
     steps: