diff --git a/.github/workflows/semantic-check.yml b/.github/workflows/semantic-check.yml
new file mode 100644
index 0000000000..a266070197
--- /dev/null
+++ b/.github/workflows/semantic-check.yml
@@ -0,0 +1,28 @@
+name: "Semantic Check"
+
+on:
+  pull_request_target:
+    types:
+      - opened
+      - edited
+      - synchronize
+
+permissions:
+  contents: read
+  pull-requests: read
+
+jobs:
+  main:
+    name: Semantic Commit Message Check
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+
+      - uses: amannn/action-semantic-pull-request@v4
+        name: Check PR for Semantic Commit Message
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        with:
+          requireScope: false
+          validateSingleCommit: true
+          ignoreLabels: release merge