diff --git a/.github/workflows/build_and_publish.yaml b/.github/workflows/build_and_publish.yaml
index 762feb88..68068e04 100644
--- a/.github/workflows/build_and_publish.yaml
+++ b/.github/workflows/build_and_publish.yaml
@@ -55,9 +55,9 @@ jobs:
       run: docker login https://ghcr.io -u ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }}
     - name: Push image to GitHub Container Registry
       run: |
-        IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME
-        docker tag $IMAGE_NAME $IMAGE_ID:latest
-        docker push $IMAGE_ID:latest
+        IMAGE_ID="ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME"
+        docker tag "$IMAGE_NAME" "$IMAGE_ID:latest"
+        docker push "$IMAGE_ID:latest"
 
   create-release-from-tag:
     name: Create release from tag
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index deb0309c..62f9dc30 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -25,14 +25,17 @@ jobs:
 
   test-job:
     strategy:
+      fail-fast: false
       matrix:
-        os: [ubuntu-20.04, ubuntu-22.04, windows-2019, macos-12]
+        os: [ubuntu-20.04, ubuntu-22.04, windows-2019, macos-13]
         # Python 3.8 is what we currently support for running cohortextractor
         # locally, and 3.9 is what we required for databuilder so we need to make
         # sure we can run with those
         python: ["3.8", "3.9", "3.10"]
     runs-on: ${{ matrix.os }}
     name: Run test suite
+    env:
+      PYTHON_VERSION: "python${{ matrix.python }}"
     steps:
       - name: Checkout
         uses: actions/checkout@v4
@@ -46,30 +49,23 @@ jobs:
           cache: "pip"
           cache-dependency-path: requirements.*.txt
 
-      - name: Set up default Python 3.8 for MacOS
-        if: ${{ matrix.os == 'macos-12' && matrix.python != '3.8' }}
-        uses: actions/setup-python@v5
-        with:
-          python-version: 3.8
-          cache: "pip"
-          cache-dependency-path: requirements.*.txt
-
-      - name: install Docker/Colima on MacOS
-        if: ${{ matrix.os == 'macos-12' }}
-        run: brew install docker
-
-      - name: start Colima on MacOS
-        if: ${{ matrix.os == 'macos-12' }}
-        run: colima start
-
       - uses: extractions/setup-just@69d82fb0233557aec017ef13706851d0694e0f1d
 
       - name: Run actual tests on ${{ matrix.os }}
-        if: ${{ matrix.os == 'ubuntu-20.04' }}
-        run: just test -vvv
+        if: ${{ matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' }}
+        run: |
+          echo "$PYTHON_VERSION"
+          just test -vvv
 
-      - name: Run actual tests on ${{ matrix.os }}
-        if: ${{ matrix.os == 'windows-2019' || matrix.os == 'macos-12' }}
+      - name: Run actual tests on windows
+        if: ${{ matrix.os == 'windows-2019' }}
+        run: |
+          # windows powershell: set to executable w/o version, as it doesn't have one on windows
+          $Env:PYTHON_VERSION = "python"
+          just test-no-docker -vvv
+
+      - name: Run actual tests on macos
+        if: ${{ matrix.os == 'macos-13' }}
         run: just test-no-docker -vvv
 
   test-package-build: