diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 49a010d9d832d56c9fbb49418d2efd00c1994315..720cb13907fdea035b36ca60f7222626e80115ab 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -82,6 +82,16 @@ jobs:
         python-version: ["3.7", "3.8", "3.9", "3.10"]
         database: ["sqlite"]
         extras: ["all"]
+        is_pr:
+          - ${{ startsWith(github.ref, 'refs/pull/') }}
+
+        # If we're a PR then we only test min and max python.
+        exclude:
+          - is_pr: true
+            python-version: 3.8
+          - is_pr: true
+            python-version: 3.9
+
         include:
           # Newest Python without optional deps
           - python-version: "3.10"
diff --git a/changelog.d/13698.misc b/changelog.d/13698.misc
new file mode 100644
index 0000000000000000000000000000000000000000..20b6b6d084d1e4d21fc9718d47b8c3f375ca9418
--- /dev/null
+++ b/changelog.d/13698.misc
@@ -0,0 +1 @@
+Only run trial CI on all python versions on non-PRs.