From bc683d664657dc2ed228b57a05344e1b0cfd8fa6 Mon Sep 17 00:00:00 2001
From: Alec Theriault <alec.theriault@gmail.com>
Date: Thu, 31 Jan 2019 12:09:49 -0800
Subject: CI: fetch GHC from validate artifact

Should help make CI be less broken
---
 .travis.yml | 57 ++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 32 insertions(+), 25 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 2bcb301a..2417dea9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,6 @@
+# NOTE: manually changes were made to an otherwise autogenerated script. This is to
+#       query GHC CI artifacts instead of going via Herbert's PPA 
+#
 # This Travis job script has been generated by a script via
 #
 #   make_travis_yml_2.hs 'haddock.cabal'
@@ -28,46 +31,50 @@ before_cache:
 
 matrix:
   include:
-    - compiler: "ghc-head"
-      env: GHCHEAD=true
-    # env: TEST=--disable-tests BENCH=--disable-benchmarks
-      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-head], sources: [hvr-ghc]}}
+    - os: linux
+      addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head], sources: [hvr-ghc]}}
+      env:
+        - GHC_ZIP='https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/download?job=validate-x86_64-linux-deb8'
 
 before_install:
- - HC=${CC}
+ # Manually install GHC validate artifact
+ - travis_retry curl -L $GHC_ZIP --output artifact.zip
+ - unzip artifact.zip
+ - tar xpf ghc.tar.xz --strip-components 1
+ - ./configure
+ - sudo make V=1 install
+
+ # Set up some vars
+ - HC=ghc
  - HCPKG=${HC/ghc/ghc-pkg}
- - unset CC
- - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
+ - PATH=/usr/local/bin:/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
  - PKGNAME='haddock'
 
 install:
  - cabal --version
  - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
- - BENCH=${BENCH---enable-benchmarks}
- - TEST=${TEST---enable-tests}
- - GHCHEAD=${GHCHEAD-false}
+ - BENCH=--enable-benchmarks
+ - TEST=--enable-tests
  - travis_retry cabal update -v
  - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
  - rm -fv cabal.project.local
  - rm -f cabal.project.freeze
  # Overlay Hackage Package Index for GHC HEAD: https://github.com/hvr/head.hackage
  - |
-   if $GHCHEAD; then
-     sed -i 's/-- allow-newer: .*/allow-newer: *:base/' ${HOME}/.cabal/config
-     for pkg in $($HCPKG list --simple-output); do pkg=$(echo $pkg | sed 's/-[^-]*$//'); sed -i "s/allow-newer: /allow-newer: *:$pkg, /" ${HOME}/.cabal/config; done
+   sed -i 's/-- allow-newer: .*/allow-newer: *:base/' ${HOME}/.cabal/config
+   for pkg in $($HCPKG list --simple-output); do pkg=$(echo $pkg | sed 's/-[^-]*$//'); sed -i "s/allow-newer: /allow-newer: *:$pkg, /" ${HOME}/.cabal/config; done
 
-     echo 'repository head.hackage'                                                        >> ${HOME}/.cabal/config
-     echo '   url: http://head.hackage.haskell.org/'                                       >> ${HOME}/.cabal/config
-     echo '   secure: True'                                                                >> ${HOME}/.cabal/config
-     echo '   root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >> ${HOME}/.cabal/config
-     echo '              2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >> ${HOME}/.cabal/config
-     echo '              8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >> ${HOME}/.cabal/config
-     echo '   key-threshold: 3'                                                            >> ${HOME}/.cabal.config
+   echo 'repository head.hackage'                                                        >> ${HOME}/.cabal/config
+   echo '   url: http://head.hackage.haskell.org/'                                       >> ${HOME}/.cabal/config
+   echo '   secure: True'                                                                >> ${HOME}/.cabal/config
+   echo '   root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >> ${HOME}/.cabal/config
+   echo '              2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >> ${HOME}/.cabal/config
+   echo '              8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >> ${HOME}/.cabal/config
+   echo '   key-threshold: 3'                                                            >> ${HOME}/.cabal.config
 
-     grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
+   grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
 
-     cabal new-update head.hackage -v
-   fi
+   cabal new-update head.hackage -v
  - travis_retry cabal new-build -w ${HC} ${TEST} ${BENCH} --dep -j2 --allow-newer --constraint 'setup.Cabal installed' all
  - travis_retry cabal new-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2 --allow-newer --constraint 'setup.Cabal installed' all
 
@@ -76,8 +83,8 @@ install:
 script:
  - if [ -f configure.ac ]; then autoreconf -i; fi
  - rm -rf dist/
- - cabal sdist # test that a source-distribution can be generated
- - cd dist/
+ - cabal new-sdist # test that a source-distribution can be generated
+ - cd dist-newstyle/sdist/
  - SRCTAR=(${PKGNAME}-*.tar.gz)
  - SRC_BASENAME="${SRCTAR/%.tar.gz}"
  - tar -xvf "./$SRC_BASENAME.tar.gz"
-- 
cgit v1.2.3