diff --git a/.github/workflows/image-pr.yml b/.github/workflows/image-pr.yml
index 8ebaa1b26cb8..5e7264f5c7d3 100644
--- a/.github/workflows/image-pr.yml
+++ b/.github/workflows/image-pr.yml
@@ -3,6 +3,15 @@ name: 'build container images tests'
 
 on:
   pull_request:
+    paths-ignore:
+      - '.devcontainer/**'
+      - '.devcontainer-scripts/**'
+      - '.github/**'
+      - '.vscode/**'
+      - 'examples/**'
+      - 'docs/**'
+      - 'gallery/**'
+      - '*.md'
 
 concurrency:
   group: ci-${{ github.head_ref || github.ref }}-${{ github.repository }}
@@ -10,6 +19,7 @@ concurrency:
 
 jobs:
   extras-image-build:
+    if: github.event.pull_request.changed_files != 0
     uses: ./.github/workflows/image_build.yml
     with:
       tag-latest: ${{ matrix.tag-latest }}
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index a1318b192ed9..ea233dce1a91 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -7,6 +7,15 @@ on:
     tags:
       - 'v*'
   pull_request:
+    paths-ignore:
+      - '.devcontainer/**'
+      - '.devcontainer-scripts/**'
+      - '.github/**'
+      - '.vscode/**'
+      - 'examples/**'
+      - 'docs/**'
+      - 'gallery/**'
+      - '*.md'
 
 env:
   GRPC_VERSION: v1.65.0
@@ -21,6 +30,7 @@ concurrency:
 jobs:
 
   build-linux-arm:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -129,6 +139,7 @@ jobs:
           connect-timeout-seconds: 180
           limit-access-to-actor: true
   build-linux:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: arc-runner-set
     steps:
       - name: Force Install GIT latest
@@ -238,6 +249,7 @@ jobs:
           connect-timeout-seconds: 180
           limit-access-to-actor: true
   build-stablediffusion:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -273,6 +285,7 @@ jobs:
             release/*
 
   build-macOS-x86_64:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: macos-13
     steps:
       - name: Clone
@@ -315,6 +328,7 @@ jobs:
           limit-access-to-actor: true
 
   build-macOS-arm64:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: macos-14
     steps:
       - name: Clone
diff --git a/.github/workflows/report_status.yaml b/.github/workflows/report_status.yaml
new file mode 100644
index 000000000000..1d8176001c15
--- /dev/null
+++ b/.github/workflows/report_status.yaml
@@ -0,0 +1,30 @@
+# .github/actions/report-status/action.yml
+name: 'Report Status'
+on:
+    workflow_call:
+      inputs:
+        job_name:
+          description: 'The name of the job to report'
+          required: true
+          default: ''
+          type: string
+        runs-on:
+          description: 'Runs on'
+          required: true
+          default: 'ubuntu-latest'
+          type: string
+jobs:
+  reusable-report-status:
+    runs-on: ${{ inputs.runs-on }}
+    steps:
+      - name: Print Job Result
+        run: |
+            echo "Job: ${{ inputs.job_name }}""
+            echo "${{ needs[inputs.job_name].result }}"
+
+      - name: Check Job Status
+        run: |
+            if [[ "${{ needs[inputs.job_name].result }}" == "failure" || "${{ needs[inputs.job_name].result }}" == "cancelled" ]]; then
+            echo "${{ needs[inputs.job_name].output }}"
+            exit 1
+            fi
diff --git a/.github/workflows/test-extra.yml b/.github/workflows/test-extra.yml
index 8b37b52ddb99..375cf0b059da 100644
--- a/.github/workflows/test-extra.yml
+++ b/.github/workflows/test-extra.yml
@@ -3,6 +3,15 @@ name: 'Tests extras backends'
 
 on:
   pull_request:
+    paths-ignore:
+      - '.devcontainer/**'
+      - '.devcontainer-scripts/**'
+      - '.github/**'
+      - '.vscode/**'
+      - 'examples/**'
+      - 'docs/**'
+      - 'gallery/**'
+      - '*.md'
   push:
     branches:
       - master
@@ -15,6 +24,7 @@ concurrency:
 
 jobs:
   tests-transformers:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -37,6 +47,7 @@ jobs:
            make --jobs=5 --output-sync=target -C backend/python/transformers test
 
   tests-sentencetransformers:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -58,8 +69,8 @@ jobs:
            make --jobs=5 --output-sync=target -C backend/python/sentencetransformers
            make --jobs=5 --output-sync=target -C backend/python/sentencetransformers test
 
-
   tests-rerankers:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -82,6 +93,7 @@ jobs:
            make --jobs=5 --output-sync=target -C backend/python/rerankers test
 
   tests-diffusers:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -103,6 +115,7 @@ jobs:
           make --jobs=5 --output-sync=target -C backend/python/diffusers test
 
   tests-parler-tts:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -125,6 +138,7 @@ jobs:
            make --jobs=5 --output-sync=target -C backend/python/parler-tts test
 
   tests-openvoice:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -147,6 +161,7 @@ jobs:
            make --jobs=5 --output-sync=target -C backend/python/openvoice test
 
   tests-transformers-musicgen:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -254,6 +269,7 @@ jobs:
   #          make --jobs=5 --output-sync=target -C backend/python/vllm
   #          make --jobs=5 --output-sync=target -C backend/python/vllm test
   tests-vallex:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -275,6 +291,7 @@ jobs:
            make --jobs=5 --output-sync=target -C backend/python/vall-e-x test
 
   tests-coqui:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Clone
@@ -293,3 +310,49 @@ jobs:
         run: |
           make --jobs=5 --output-sync=target -C backend/python/coqui
           make --jobs=5 --output-sync=target -C backend/python/coqui test
+
+  report-extra-test-results:
+    runs-on: ubuntu-latest
+    if: ${{ always() }}
+    needs: [tests-transformers, tests-sentencetransformers, tests-rerankers, tests-diffusers, tests-parler-tts, tests-openvoice, tests-transformers-musicgen, tests-vallex, tests-coqui]
+    steps:
+      - name: Report Status for coqui
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-coqui
+      - name: Report Status for diffusers
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-diffusers
+      - name: Report Status for openvoice
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-openvoice
+      - name: Report Status for parler-tts
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-parler-tts
+      - name: Report Status for tests-transformers
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-transformers
+      - name: Report Status for tests-transformers-musicgen
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-transformers-musicgen
+      - name: Report Status for tests-sentencetransformers
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-sentencetransformers
+      - name: Report Status for tests-rerankers
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-rerankers
+      - name: Report Status for tests-vallex
+        uses: ./.github/workflows/report_status.yaml
+        with:
+          job_name: tests-vallex
+      - name: Report Success
+        run: |
+            echo "test-extra successfully completed"
+            exit 0
\ No newline at end of file
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index b62f86ef4650..2a0822c942bb 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -3,6 +3,15 @@ name: 'tests'
 
 on:
   pull_request:
+    paths-ignore:
+      - '.devcontainer/**'
+      - '.devcontainer-scripts/**'
+      - '.github/**'
+      - '.vscode/**'
+      - 'examples/**'
+      - 'docs/**'
+      - 'gallery/**'
+      - '*.md'
   push:
     branches:
       - master
@@ -18,6 +27,7 @@ concurrency:
 
 jobs:
   tests-linux:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     strategy:
       matrix:
@@ -140,6 +150,7 @@ jobs:
           limit-access-to-actor: true
 
   tests-aio-container:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: ubuntu-latest
     steps:
       - name: Release space from worker
@@ -204,6 +215,7 @@ jobs:
           limit-access-to-actor: true
 
   tests-apple:
+    if: github.event_name != 'pull_request' || github.event.pull_request.changed_files != 0
     runs-on: macOS-14
     strategy:
       matrix: