Try re-enabling skip duplicates job by storing action as submodule.
diff --git a/.github/actions/skip-duplicate-actions b/.github/actions/skip-duplicate-actions
new file mode 160000
index 0000000..fda4aba
--- /dev/null
+++ b/.github/actions/skip-duplicate-actions
@@ -0,0 +1 @@
+Subproject commit fda4aba6a2cfab52e09f05c7311ce91fd1e5bae3
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 585bdb7..f264bcc 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -12,25 +12,33 @@
 
 jobs:
   # Special job which skips duplicate jobs
-  # NOTE: It looks like Apache disabled using external actions
-  # pre_job:
-  #   name: Skip Duplicate Jobs Pre Job
-  #   runs-on: ubuntu-latest
-  #   # Map a step output to a job output
-  #   outputs:
-  #     should_skip: ${{ steps.skip_check.outputs.should_skip }}
-  #   steps:
-  #     - id: skip_check
-  #       uses: fkirc/skip-duplicate-actions@f05289cf5f432138afd3408d79ca931eb0df74c3 # v3.0.0
-  #       with:
-  #         github_token: ${{ github.token }}
+  pre_job:
+    name: Skip Duplicate Jobs Pre Job
+    runs-on: ubuntu-latest
+    # Map a step output to a job output
+    outputs:
+      should_skip: ${{ steps.skip_check.outputs.should_skip }}
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@master
+        uses: actions/checkout@v2
+        with:
+          persist-credentials: false
+          submodules: recursive
+
+      - id: skip_check
+        # NOTE: We store action as submodule since ASF doesn't allow directly referencing external
+        # actions
+        uses: ./.github/actions/skip-duplicate-actions # v3.4.0
+        with:
+          github_token: ${{ github.token }}
 
   unit_tests:
     name: Run Unit Tests
     runs-on: ${{ matrix.os }}
 
-    # needs: pre_job
-    # if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
+    needs: pre_job
+    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
 
     strategy:
       fail-fast: false
@@ -72,8 +80,8 @@
     name: Run Integration Tests
     runs-on: ubuntu-latest
 
-    # needs: pre_job
-    # if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
+    needs: pre_job
+    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
 
     strategy:
       matrix:
@@ -106,8 +114,8 @@
     name: Generate Code Coverage
     runs-on: ubuntu-latest
 
-    # needs: pre_job
-    # if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
+    needs: pre_job
+    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
 
     strategy:
       matrix:
@@ -140,8 +148,8 @@
     name: Run Various Lint and Other Checks
     runs-on: ubuntu-latest
 
-    # needs: pre_job
-    # if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
+    needs: pre_job
+    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
 
     strategy:
       matrix:
@@ -174,8 +182,8 @@
     name: Build and upload Documentation
     runs-on: ubuntu-latest
 
-    # needs: pre_job
-    # if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
+    needs: pre_job
+    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
 
     strategy:
       matrix:
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..41e2e31
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule ".github/actions/skip-duplicate-actions"]
+	path = .github/actions/skip-duplicate-actions
+	url = https://github.com/fkirc/skip-duplicate-actions.git