diff --git a/.github/workflows/publish.yml b/.github/workflows/test-and-publish.yml
similarity index 88%
rename from .github/workflows/publish.yml
rename to .github/workflows/test-and-publish.yml
index d785224..e89df20 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/test-and-publish.yml
@@ -1,4 +1,4 @@
-name: Build and Push Docker
+name: Run Tests
 
 on:
   push:
@@ -14,10 +14,32 @@ env:
   REGISTRY: ghcr.io
   IMAGE_NAME: ${{ github.repository }}
 
-# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu.
 jobs:
+
+  # Core test runner
+  test:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v4
+      with:
+        fetch-depth: 0
+    - name: Set up Python
+      uses: actions/setup-python@v5
+      with:
+        python-version: 3.11
+        cache: pip
+    - name: Install dependencies
+      run: |
+        python -m pip install --upgrade pip
+        python -m pip install -r requirements.txt
+    - name: Run tests
+      run: |
+        python tests/test.py
+
+
   build-and-push-images:
     runs-on: ubuntu-latest
+    needs: test
     
     # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
     permissions:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
deleted file mode 100644
index 20a9d56..0000000
--- a/.github/workflows/test.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: Run Tests
-
-on: [push]
-
-jobs:
-  test:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v4
-      with:
-        fetch-depth: 0
-    - name: Set up Python
-      uses: actions/setup-python@v5
-      with:
-        python-version: 3.11
-        cache: pip
-    - name: Install dependencies
-      run: |
-        python -m pip install --upgrade pip
-        python -m pip install -r requirements.txt
-    - name: Run tests
-      run: |
-        python tests/test.py
\ No newline at end of file