Revert "gitlab: Drop submodules hack"
authorBen Gamari <ben@smart-cactus.org>
Wed, 19 Dec 2018 15:57:11 +0000 (10:57 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 21 Dec 2018 21:52:13 +0000 (16:52 -0500)
It turns out that the submodules hack is useful to ensure that
CI works in forks.

This reverts commit 90ceafa8b9ad60e3c7b72cdd2dacdbeb96bdcddc.

.gitlab-ci.yml
.gitlab/fix-submodules.py [new file with mode: 0644]

index 0fb8192..9c97baa 100644 (file)
@@ -1,7 +1,11 @@
 variables:
   GIT_SSL_NO_VERIFY: "1"
-  GIT_SUBMODULE_STRATEGY: "recursive"
-  LANG: "en_US.UTF-8"
+
+before_script:
+  - python3 .gitlab/fix-submodules.py
+  - git submodule sync --recursive
+  - git submodule update --init --recursive
+  - git checkout .gitmodules
 
 stages:
   - lint
@@ -50,6 +54,10 @@ validate-x86_64-linux-deb8-hadrian:
   before_script:
     # workaround for docker permissions
     - sudo chown ghc:ghc -R .
+    - python3 .gitlab/fix-submodules.py
+    - git submodule sync --recursive
+    - git submodule update --init --recursive
+    - git checkout .gitmodules
   tags:
     - x86_64-linux
 
@@ -94,6 +102,11 @@ validate-x86_64-darwin:
     ac_cv_func_clock_gettime: "no"
     LANG: "en_US.UTF-8"
   before_script:
+    - python .gitlab/fix-submodules.py
+    - git submodule sync --recursive
+    - git submodule update --init --recursive
+    - git checkout .gitmodules
+
     - bash .gitlab/darwin-init.sh
     - PATH="`pwd`/toolchain/bin:$PATH"
       # Disable sphinx PDF output as MacTeX apparently doesn't provide xelatex
@@ -115,6 +128,11 @@ validate-x86_64-darwin:
   tags:
     - x86_64-linux
   before_script:
+    - python3 .gitlab/fix-submodules.py
+    - git submodule sync --recursive
+    - git submodule update --init --recursive
+    - git checkout .gitmodules
+
     - bash .circleci/prepare-system.sh
     # workaround for docker permissions
     - sudo chown ghc:ghc -R .
diff --git a/.gitlab/fix-submodules.py b/.gitlab/fix-submodules.py
new file mode 100644 (file)
index 0000000..2ff8e41
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/python
+
+import re
+
+x = open('.gitmodules').read()
+x = re.sub(r"url *= *\.\.", "url = https://gitlab.haskell.org/ghc", x)
+open('.gitmodules', 'w').write(x)
+