From 9a24b411bd4bea69ab292eaa5857941caae2ed73 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Sat, 11 Jul 2020 10:02:43 -0400
Subject: [PATCH] gitlab-ci: Bootstrap with 8.8.4-rc1 on Windows

This avoids bugs in the `process` library during bootstrapping.
---
 .gitlab-ci.yml        | 16 ++++++++++++++--
 .gitlab/win32-init.sh |  5 ++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 842e5b1eea02..97d7557979d6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -570,7 +570,16 @@ release-x86_64-linux-fedora27-dwarf:
   stage: full-build
   allow_failure: true
   variables:
-    GHC_VERSION: "8.8.3"
+    GHC_VERSION: "8.8.3.20200710"
+    GHC_TARBALL_URL: "http://home.smart-cactus.org/~ben/ghc/release-prep/8.8.4-rc1/ghc-8.8.3.20200710-x86_64-unknown-mingw32.tar.xz"
+  before_script:
+    - python3 .gitlab/fix-submodules.py
+    - git submodule sync --recursive
+    - git submodule update --init --recursive
+    - git checkout .gitmodules
+      # N.B. Drop bash syntax on Windows since this is interpreted by
+      # PowerShell.
+    - "git fetch https://gitlab.haskell.org/ghc/ghc-performance-notes.git refs/notes/perf:refs/notes/perf"
   script:
     - |
       python boot
@@ -608,7 +617,8 @@ nightly-i386-windows-hadrian:
   allow_failure: true
   variables:
     BUILD_FLAVOUR: "UNSET"
-    GHC_VERSION: "8.8.3"
+    GHC_VERSION: "8.8.3.20200710"
+    GHC_TARBALL_URL: "http://home.smart-cactus.org/~ben/ghc/release-prep/8.8.4-rc1/ghc-8.8.3.20200710-x86_64-unknown-mingw32.tar.xz"
     BUILD_PROF_LIBS: "YES"
     BIN_DIST_PREP_TAR_COMP: "bindistprep/ghc-x86_64-mingw32.tar.xz"
   script:
@@ -647,6 +657,8 @@ release-x86_64-windows:
   extends: validate-x86_64-windows
   variables:
     MSYSTEM: MINGW64
+    GHC_VERSION: 8.8.4-rc1
+    GHC_TARBALL_URL: "http://home.smart-cactus.org/~ben/ghc/release-prep/8.8.4-rc1/ghc-8.8.3.20200710-x86_64-unknown-mingw32.tar.xz"
     BUILD_FLAVOUR: "perf"
     CONFIGURE_ARGS: "--target=x86_64-unknown-mingw32"
 
diff --git a/.gitlab/win32-init.sh b/.gitlab/win32-init.sh
index aec73ce0833e..c3226591bc07 100644
--- a/.gitlab/win32-init.sh
+++ b/.gitlab/win32-init.sh
@@ -22,7 +22,10 @@ if [ ! -e $toolchain/bin/ghc ]; then
         exit 1
         ;;
     esac
-    curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-$triple.tar.xz | tar -xJ
+    if [ -z "$GHC_TARBALL_URL" ]; then
+      GHC_TARBALL_URL="https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-$triple.tar.xz"
+    fi
+    curl "$GHC_TARBALL_URL" | tar -xJ
     mv ghc-$GHC_VERSION toolchain
 fi
 
-- 
GitLab