diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml
index 34dd90bbce01603909a9d744b0b80417e9e7ae4c..cb2ca1208bfafd0e5244b4201aef559e01f6f831 100644
--- a/.github/workflows/haskell.yml
+++ b/.github/workflows/haskell.yml
@@ -10,7 +10,11 @@ jobs:
   build:
     strategy:
       matrix:
-        os: ['ubuntu-18.04','macOS-10.14','windows-latest']
+        os:
+          #- 'ubuntu-18.04'
+          #- 'macOS-10.14'
+          - 'windows-latest'
+
         ghc: ['8.6.5','8.0.2']
 
     runs-on: ${{ matrix.os }}
@@ -27,7 +31,7 @@ jobs:
         key: ${{ runner.os }}-ghc-${{ matrix.ghc }}-store-3.0
 
     - name: "Build (Linux)"
-      if: matrix.os == 'ubuntu-18.04'
+      if: runner.os == 'Linux-18.04'
       env:
         GHCVER: ${{ matrix.ghc }}
       run: |
@@ -37,4 +41,18 @@ jobs:
         ghc --version
         cabal update -v3
         cabal v2-build -w ghc-${GHCVER} all
+
+    - name: "Build (Windows)"
+      if: runner.os == 'Windows'
+      env:
+        GHCVER: ${{ matrix.ghc }}
+      # NB: On Windows the default shell is pwsh
+      run: |
+        choco install -y cabal --version 3.0.0.0
+        choco install -y ghc --version ${env:GHCVER}
+        cabal --version
+        ghc --version
+        cabal update -v3
+        cabal v2-build -w ghc-${env:GHCVER} all
+
 ...