diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b2aa5f747f4fcc57c4c8319f3906e9bff52efc01
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,16 @@
+---
+name: Verify Ansible documentation.
+on:
+  - push
+  - pull_request
+jobs:
+  check_docs:
+    name: Check Ansible Documentation.
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-python@v2
+        with:
+          python-version: '3.x'
+      - name: Run ansible-doc-test
+        run: ANSIBLE_LIBRARY="." python utils/ansible-doc-test roles plugins
diff --git a/utils/ansible-doc-test b/utils/ansible-doc-test
index a7c2985320f77f39f0050440ffc8bc6080dc490b..dc09afc52e9a2122b0cf284c70728a8784ca8bad 100755
--- a/utils/ansible-doc-test
+++ b/utils/ansible-doc-test
@@ -124,7 +124,10 @@ def ansible_doc_test(path, verbose):
                 # All roles and plugins
                 roles = os.listdir("roles/")
                 for _role in roles:
-                    if not os.path.isdir("roles/%s" % _role):
+                    if (
+                        not os.path.isdir("roles/%s" % _role)
+                        or not os.path.isdir("roles/%s/library" % _role)
+                    ):
                         continue
                     modules = os.listdir("roles/%s/library" % _role)
                     for _module in modules: