From a211e2a8e8d0892c10d65f3a08d2b79daadab560 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Tue, 26 Feb 2019 18:51:04 -0500
Subject: [PATCH] squash

---
 .gitlab-ci.yml       |  5 +----
 scripts/build-all.py | 25 ++++++++++++++++---------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff08a1b4..80830233 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,10 +20,7 @@ build-all:
       echo "with-compiler: $GHC" >> cabal.project
       echo "packages: packages/*" >> cabal.project
     - ./scripts/patch-tool unpack_patch_all
-    - for pkg in `cat scripts/build-all.list`; do
-        echo "Building $pkg"
-        cabal new-install $pkg
-      done
+    - ./scripts/build-all.py
   image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
   tags:
     - x86_64-linux
diff --git a/scripts/build-all.py b/scripts/build-all.py
index d736e744..37ec6ea5 100755
--- a/scripts/build-all.py
+++ b/scripts/build-all.py
@@ -2,15 +2,22 @@
 
 import subprocess
 from pathlib import Path
+import json
 
-packages = open('scripts/build-all.list').read().split('\n')
-for pkg_version in packages:
-    if not (Path('packages') / pkg_version).exists():
-        subprocess.check_call(['scripts/patch-tool', 'unpack-patch', 'patches/'+pkg_version+'.patch'])
+def build_all(packages):
+    results = {}
+    for pkg_version in packages:
+        code = subprocess.call([
+            'cabal', 'new-build', pkg_version,
+            '--allow-newer=base,template-haskell',
+            '--ghc-option="-ddump-to-file -ddump-timings"'
+            ])
+        results[pkg_version] = code
 
-print(open('cabal.project.local').read())
-for pkg_version in packages:
-    #pkg, version = line.split(' ')
-    #pkg_version = '%s-%s' % (pkg, version)
-    subprocess.check_call(['cabal', 'new-install', pkg_version])
+    return results
 
+if __name__ == '__main__':
+    pkg_list = Path(__file__).parent / 'build-all.list'
+    packages = pkg_list.read_text().split('\n')
+    results = build_all(packages)
+    json.dump(results, open('build-all.json', 'w'))
-- 
GitLab