diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fa32df5f5e5f4deeb9e914e03554f42ea0c8159e..605f2f6fc2f926dde3bae5e2fa92150bf9e450a4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -75,3 +75,23 @@ build-x86_64-darwin:
     - pushd "ghc-${GHC_VERSION}"; ./configure --prefix="$toolchain"; make install; popd
   tags:
     - x86_64-darwin
+
+build-x86_64-windows:
+  extends: .build
+  before_script:
+    - toolchain="$(pwd)/toolchain/"
+    - mkdir -p "$toolchain/bin/"
+    - export PATH="$toolchain/bin:$PATH"
+
+    # Install cabal
+    - curl -o cabal.zip https://downloads.haskell.org/~cabal/cabal-install-$CABAL_INSTALL_VERSION/cabal-install-$CABAL_INSTALL_VERSION-x86_64-unknown-mingw32.zip
+    - unzip u cabal.zip
+    - cp cabal.exe "$toolchain/bin/cabal"
+    - chmod +x "$toolchain/bin/cabal"
+
+    # Install ghc
+    - curl -sSfL -o ghc.tar.xz "https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-unknown-mingw32.tar.xz"
+    - tar -xf ghc.tar.xz
+    - cp -R "ghc-$GHC_VERSION/" $toolchain
+  tags:
+    - new-x86_64-windows