From 10315e4af4d1fe0dc005de6bef6d2411c3e6e5be Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Fri, 29 Nov 2024 21:39:42 +0200 Subject: [PATCH] Remove travis support it probably had bitrotten to unusable state long ago --- fixtures/all-versions.travis | 327 ---------------- fixtures/copy-fields-all.travis | 255 ------------- fixtures/copy-fields-none.travis | 233 ------------ fixtures/copy-fields-some.travis | 239 ------------ fixtures/doctest-version.travis | 331 ----------------- fixtures/doctest.travis | 331 ----------------- fixtures/empty-line.travis | 264 ------------- fixtures/enabled-jobs.travis | 327 ---------------- fixtures/fail-versions.travis | 251 ------------- fixtures/irc-channels.travis | 213 ----------- fixtures/messy.travis | 258 ------------- fixtures/psql.travis | 210 ----------- fixtures/travis-patch.travis | 206 ---------- haskell-ci.cabal | 12 +- src/HaskellCI.hs | 100 +---- src/HaskellCI/Cli.hs | 10 +- src/HaskellCI/Travis.hs | 619 ------------------------------- src/HaskellCI/Travis/Yaml.hs | 238 ------------ test/Tests.hs | 3 +- 19 files changed, 5 insertions(+), 4422 deletions(-) delete mode 100644 fixtures/all-versions.travis delete mode 100644 fixtures/copy-fields-all.travis delete mode 100644 fixtures/copy-fields-none.travis delete mode 100644 fixtures/copy-fields-some.travis delete mode 100644 fixtures/doctest-version.travis delete mode 100644 fixtures/doctest.travis delete mode 100644 fixtures/empty-line.travis delete mode 100644 fixtures/enabled-jobs.travis delete mode 100644 fixtures/fail-versions.travis delete mode 100644 fixtures/irc-channels.travis delete mode 100644 fixtures/messy.travis delete mode 100644 fixtures/psql.travis delete mode 100644 fixtures/travis-patch.travis delete mode 100644 src/HaskellCI/Travis.hs delete mode 100644 src/HaskellCI/Travis/Yaml.hs diff --git a/fixtures/all-versions.travis b/fixtures/all-versions.travis deleted file mode 100644 index 8dcd14c0..00000000 --- a/fixtures/all-versions.travis +++ /dev/null @@ -1,327 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.10.1 9.12.1 ghcjs-8.4 -# This Travis job script has been generated by a script via -# -# haskell-ci 'travis' 'all-versions.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghcjs-8.4 - addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu jammy main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x jammy main"}]}} - os: linux - - compiler: ghc-9.12.1 - addons: {"apt":{"packages":["ghc-9.12.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.10.1 - addons: {"apt":{"packages":["ghc-9.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.3 - addons: {"apt":{"packages":["ghc-9.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.2 - addons: {"apt":{"packages":["ghc-9.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.1 - addons: {"apt":{"packages":["ghc-9.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.6 - addons: {"apt":{"packages":["ghc-9.6.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.5 - addons: {"apt":{"packages":["ghc-9.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.4 - addons: {"apt":{"packages":["ghc-9.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.3 - addons: {"apt":{"packages":["ghc-9.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.2 - addons: {"apt":{"packages":["ghc-9.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.1 - addons: {"apt":{"packages":["ghc-9.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.8 - addons: {"apt":{"packages":["ghc-9.4.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.7 - addons: {"apt":{"packages":["ghc-9.4.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.6 - addons: {"apt":{"packages":["ghc-9.4.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.5 - addons: {"apt":{"packages":["ghc-9.4.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.4 - addons: {"apt":{"packages":["ghc-9.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.3 - addons: {"apt":{"packages":["ghc-9.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.2 - addons: {"apt":{"packages":["ghc-9.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.1 - addons: {"apt":{"packages":["ghc-9.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.8 - addons: {"apt":{"packages":["ghc-9.2.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.7 - addons: {"apt":{"packages":["ghc-9.2.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.6 - addons: {"apt":{"packages":["ghc-9.2.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.5 - addons: {"apt":{"packages":["ghc-9.2.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.4 - addons: {"apt":{"packages":["ghc-9.2.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.3 - addons: {"apt":{"packages":["ghc-9.2.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.2 - addons: {"apt":{"packages":["ghc-9.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.1 - addons: {"apt":{"packages":["ghc-9.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.2 - addons: {"apt":{"packages":["ghc-9.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.1 - addons: {"apt":{"packages":["ghc-9.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - | - if echo $CC | grep -q ghcjs; then - GHCJS=true; GHCJSARITH=1; - else - GHCJS=false; GHCJSARITH=0; - fi - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - if [ $((GHCJSARITH)) -ne 0 ] ; then HC=${HC}js ; fi - - if [ $((GHCJSARITH)) -ne 0 ] ; then WITHCOMPILER="--ghcjs ${WITHCOMPILER}js" ; fi - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - if [ $((GHCJSARITH)) -ne 0 ] ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then HEADHACKAGE=true ; fi - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config - - | - if $HEADHACKAGE; then - echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config - echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config - echo " secure: True" >> $CABALHOME/config - echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config - echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config - echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config - echo " key-threshold: 3" >> $CABALHOME/config - echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config - fi -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - node --version - - echo $GHCJS - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: splitmix" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "splitmix/configure.ac" ]; then (cd "splitmix" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_splitmix="$(find . -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_splitmix}" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct ; fi - # cabal check... - - (cd ${PKGDIR_splitmix} && ${CABAL} -vnormal check) - # haddock... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all ; fi - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["travis","all-versions.project"] -# EOF diff --git a/fixtures/copy-fields-all.travis b/fixtures/copy-fields-all.travis deleted file mode 100644 index 97a43048..00000000 --- a/fixtures/copy-fields-all.travis +++ /dev/null @@ -1,255 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--copy-fields=all' 'travis' 'copy-fields-all.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - echo "packages: servant-client" >> cabal.project - echo "packages: servant-docs" >> cabal.project - echo "packages: servant-server" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - | - echo "constraints: foundation >= 0.14" >> cabal.project - echo "allow-newer: servant-js:servant" >> cabal.project - echo "allow-newer: servant-js:servant-foreign" >> cabal.project - echo "" >> cabal.project - echo "source-repository-package" >> cabal.project - echo " type: git" >> cabal.project - echo " location: https://github.com/haskell-servant/servant-auth" >> cabal.project - echo " tag: 4a134c3db79293d28f8b74a02863047e41fbaf56" >> cabal.project - echo "" >> cabal.project - echo "package servant" >> cabal.project - echo " tests: False" >> cabal.project - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - if [ -f "servant-client/configure.ac" ]; then (cd "servant-client" && autoreconf -i); fi - - if [ -f "servant-docs/configure.ac" ]; then (cd "servant-docs" && autoreconf -i); fi - - if [ -f "servant-server/configure.ac" ]; then (cd "servant-server" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - - PKGDIR_servant_client="$(find . -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')" - - PKGDIR_servant_docs="$(find . -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')" - - PKGDIR_servant_server="$(find . -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - echo "packages: ${PKGDIR_servant_client}" >> cabal.project - echo "packages: ${PKGDIR_servant_docs}" >> cabal.project - echo "packages: ${PKGDIR_servant_server}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - | - echo "constraints: foundation >= 0.14" >> cabal.project - echo "allow-newer: servant-js:servant" >> cabal.project - echo "allow-newer: servant-js:servant-foreign" >> cabal.project - echo "" >> cabal.project - echo "source-repository-package" >> cabal.project - echo " type: git" >> cabal.project - echo " location: https://github.com/haskell-servant/servant-auth" >> cabal.project - echo " tag: 4a134c3db79293d28f8b74a02863047e41fbaf56" >> cabal.project - echo "" >> cabal.project - echo "package servant" >> cabal.project - echo " tests: False" >> cabal.project - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_docs} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_server} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--copy-fields=all","travis","copy-fields-all.project"] -# EOF diff --git a/fixtures/copy-fields-none.travis b/fixtures/copy-fields-none.travis deleted file mode 100644 index cff32420..00000000 --- a/fixtures/copy-fields-none.travis +++ /dev/null @@ -1,233 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--copy-fields=none' 'travis' 'copy-fields-none.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - echo "packages: servant-client" >> cabal.project - echo "packages: servant-docs" >> cabal.project - echo "packages: servant-server" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - if [ -f "servant-client/configure.ac" ]; then (cd "servant-client" && autoreconf -i); fi - - if [ -f "servant-docs/configure.ac" ]; then (cd "servant-docs" && autoreconf -i); fi - - if [ -f "servant-server/configure.ac" ]; then (cd "servant-server" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - - PKGDIR_servant_client="$(find . -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')" - - PKGDIR_servant_docs="$(find . -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')" - - PKGDIR_servant_server="$(find . -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - echo "packages: ${PKGDIR_servant_client}" >> cabal.project - echo "packages: ${PKGDIR_servant_docs}" >> cabal.project - echo "packages: ${PKGDIR_servant_server}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_docs} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_server} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--copy-fields=none","travis","copy-fields-none.project"] -# EOF diff --git a/fixtures/copy-fields-some.travis b/fixtures/copy-fields-some.travis deleted file mode 100644 index a75dee3c..00000000 --- a/fixtures/copy-fields-some.travis +++ /dev/null @@ -1,239 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--copy-fields=some' 'travis' 'copy-fields-some.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - echo "packages: servant-client" >> cabal.project - echo "packages: servant-docs" >> cabal.project - echo "packages: servant-server" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - | - echo "constraints: foundation >= 0.14" >> cabal.project - echo "allow-newer: servant-js:servant" >> cabal.project - echo "allow-newer: servant-js:servant-foreign" >> cabal.project - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - if [ -f "servant-client/configure.ac" ]; then (cd "servant-client" && autoreconf -i); fi - - if [ -f "servant-docs/configure.ac" ]; then (cd "servant-docs" && autoreconf -i); fi - - if [ -f "servant-server/configure.ac" ]; then (cd "servant-server" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - - PKGDIR_servant_client="$(find . -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')" - - PKGDIR_servant_docs="$(find . -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')" - - PKGDIR_servant_server="$(find . -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - echo "packages: ${PKGDIR_servant_client}" >> cabal.project - echo "packages: ${PKGDIR_servant_docs}" >> cabal.project - echo "packages: ${PKGDIR_servant_server}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - | - echo "constraints: foundation >= 0.14" >> cabal.project - echo "allow-newer: servant-js:servant" >> cabal.project - echo "allow-newer: servant-js:servant-foreign" >> cabal.project - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_docs} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_server} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--copy-fields=some","travis","copy-fields-some.project"] -# EOF diff --git a/fixtures/doctest-version.travis b/fixtures/doctest-version.travis deleted file mode 100644 index f6f56103..00000000 --- a/fixtures/doctest-version.travis +++ /dev/null @@ -1,331 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.10.1 9.12.1 ghcjs-8.4 -# This Travis job script has been generated by a script via -# -# haskell-ci '--doctest' '--doctest-version=^>=0.20' 'travis' 'doctest-version.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghcjs-8.4 - addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu jammy main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x jammy main"}]}} - os: linux - - compiler: ghc-9.12.1 - addons: {"apt":{"packages":["ghc-9.12.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.10.1 - addons: {"apt":{"packages":["ghc-9.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.3 - addons: {"apt":{"packages":["ghc-9.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.2 - addons: {"apt":{"packages":["ghc-9.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.1 - addons: {"apt":{"packages":["ghc-9.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.6 - addons: {"apt":{"packages":["ghc-9.6.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.5 - addons: {"apt":{"packages":["ghc-9.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.4 - addons: {"apt":{"packages":["ghc-9.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.3 - addons: {"apt":{"packages":["ghc-9.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.2 - addons: {"apt":{"packages":["ghc-9.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.1 - addons: {"apt":{"packages":["ghc-9.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.8 - addons: {"apt":{"packages":["ghc-9.4.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.7 - addons: {"apt":{"packages":["ghc-9.4.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.6 - addons: {"apt":{"packages":["ghc-9.4.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.5 - addons: {"apt":{"packages":["ghc-9.4.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.4 - addons: {"apt":{"packages":["ghc-9.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.3 - addons: {"apt":{"packages":["ghc-9.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.2 - addons: {"apt":{"packages":["ghc-9.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.1 - addons: {"apt":{"packages":["ghc-9.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.8 - addons: {"apt":{"packages":["ghc-9.2.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.7 - addons: {"apt":{"packages":["ghc-9.2.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.6 - addons: {"apt":{"packages":["ghc-9.2.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.5 - addons: {"apt":{"packages":["ghc-9.2.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.4 - addons: {"apt":{"packages":["ghc-9.2.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.3 - addons: {"apt":{"packages":["ghc-9.2.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.2 - addons: {"apt":{"packages":["ghc-9.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.1 - addons: {"apt":{"packages":["ghc-9.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.2 - addons: {"apt":{"packages":["ghc-9.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.1 - addons: {"apt":{"packages":["ghc-9.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - | - if echo $CC | grep -q ghcjs; then - GHCJS=true; GHCJSARITH=1; - else - GHCJS=false; GHCJSARITH=0; - fi - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - if [ $((GHCJSARITH)) -ne 0 ] ; then HC=${HC}js ; fi - - if [ $((GHCJSARITH)) -ne 0 ] ; then WITHCOMPILER="--ghcjs ${WITHCOMPILER}js" ; fi - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - if [ $((GHCJSARITH)) -ne 0 ] ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then HEADHACKAGE=true ; fi - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config - - | - if $HEADHACKAGE; then - echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config - echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config - echo " secure: True" >> $CABALHOME/config - echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config - echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config - echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config - echo " key-threshold: 3" >> $CABALHOME/config - echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config - fi -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - node --version - - echo $GHCJS - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-install $WITHCOMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.20' ; fi - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: splitmix" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "splitmix/configure.ac" ]; then (cd "splitmix" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_splitmix="$(find . -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_splitmix}" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct ; fi - # Doctest... - - $CABAL v2-build $WITHCOMPILER ${TEST} ${BENCH} all --dry-run - - if [ $((! GHCJSARITH)) -ne 0 ] ; then (cd ${PKGDIR_splitmix} && doctest -XHaskell2010 src src-compat) ; fi - # cabal check... - - (cd ${PKGDIR_splitmix} && ${CABAL} -vnormal check) - # haddock... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all ; fi - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--doctest","--doctest-version=^>=0.20","travis","doctest-version.project"] -# EOF diff --git a/fixtures/doctest.travis b/fixtures/doctest.travis deleted file mode 100644 index 5fc77232..00000000 --- a/fixtures/doctest.travis +++ /dev/null @@ -1,331 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.10.1 9.12.1 ghcjs-8.4 -# This Travis job script has been generated by a script via -# -# haskell-ci '--doctest' 'travis' 'doctest.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghcjs-8.4 - addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu jammy main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x jammy main"}]}} - os: linux - - compiler: ghc-9.12.1 - addons: {"apt":{"packages":["ghc-9.12.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.10.1 - addons: {"apt":{"packages":["ghc-9.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.3 - addons: {"apt":{"packages":["ghc-9.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.2 - addons: {"apt":{"packages":["ghc-9.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.1 - addons: {"apt":{"packages":["ghc-9.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.6 - addons: {"apt":{"packages":["ghc-9.6.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.5 - addons: {"apt":{"packages":["ghc-9.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.4 - addons: {"apt":{"packages":["ghc-9.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.3 - addons: {"apt":{"packages":["ghc-9.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.2 - addons: {"apt":{"packages":["ghc-9.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.1 - addons: {"apt":{"packages":["ghc-9.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.8 - addons: {"apt":{"packages":["ghc-9.4.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.7 - addons: {"apt":{"packages":["ghc-9.4.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.6 - addons: {"apt":{"packages":["ghc-9.4.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.5 - addons: {"apt":{"packages":["ghc-9.4.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.4 - addons: {"apt":{"packages":["ghc-9.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.3 - addons: {"apt":{"packages":["ghc-9.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.2 - addons: {"apt":{"packages":["ghc-9.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.1 - addons: {"apt":{"packages":["ghc-9.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.8 - addons: {"apt":{"packages":["ghc-9.2.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.7 - addons: {"apt":{"packages":["ghc-9.2.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.6 - addons: {"apt":{"packages":["ghc-9.2.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.5 - addons: {"apt":{"packages":["ghc-9.2.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.4 - addons: {"apt":{"packages":["ghc-9.2.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.3 - addons: {"apt":{"packages":["ghc-9.2.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.2 - addons: {"apt":{"packages":["ghc-9.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.1 - addons: {"apt":{"packages":["ghc-9.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.2 - addons: {"apt":{"packages":["ghc-9.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.1 - addons: {"apt":{"packages":["ghc-9.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - | - if echo $CC | grep -q ghcjs; then - GHCJS=true; GHCJSARITH=1; - else - GHCJS=false; GHCJSARITH=0; - fi - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - if [ $((GHCJSARITH)) -ne 0 ] ; then HC=${HC}js ; fi - - if [ $((GHCJSARITH)) -ne 0 ] ; then WITHCOMPILER="--ghcjs ${WITHCOMPILER}js" ; fi - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - if [ $((GHCJSARITH)) -ne 0 ] ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then HEADHACKAGE=true ; fi - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config - - | - if $HEADHACKAGE; then - echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config - echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config - echo " secure: True" >> $CABALHOME/config - echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config - echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config - echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config - echo " key-threshold: 3" >> $CABALHOME/config - echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config - fi -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - node --version - - echo $GHCJS - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-install $WITHCOMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.22.0' ; fi - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: splitmix" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "splitmix/configure.ac" ]; then (cd "splitmix" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_splitmix="$(find . -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_splitmix}" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct ; fi - # Doctest... - - $CABAL v2-build $WITHCOMPILER ${TEST} ${BENCH} all --dry-run - - if [ $((! GHCJSARITH)) -ne 0 ] ; then (cd ${PKGDIR_splitmix} && doctest -XHaskell2010 src src-compat) ; fi - # cabal check... - - (cd ${PKGDIR_splitmix} && ${CABAL} -vnormal check) - # haddock... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all ; fi - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--doctest","travis","doctest.project"] -# EOF diff --git a/fixtures/empty-line.travis b/fixtures/empty-line.travis deleted file mode 100644 index 252fb864..00000000 --- a/fixtures/empty-line.travis +++ /dev/null @@ -1,264 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: ghc-head 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--ghc-head' 'travis' 'empty-line.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-head - addons: {"apt":{"packages":["ghc-head","cabal-install-head"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - allow_failures: - - compiler: ghc-head -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - if [ $((HCNUMVER > 81007)) -ne 0 ] ; then HEADHACKAGE=true ; fi - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config - - | - if $HEADHACKAGE; then - echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config - echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config - echo " secure: True" >> $CABALHOME/config - echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config - echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config - echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config - echo " key-threshold: 3" >> $CABALHOME/config - echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config - fi -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - echo "packages: servant-client" >> cabal.project - echo "packages: servant-docs" >> cabal.project - echo "packages: servant-server" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - | - echo "constraints: foundatiion >= 0.14" >> cabal.project - echo "allow-newer: servant-js:servant" >> cabal.project - echo "allow-newer: servant-js:servant-foreign" >> cabal.project - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - if [ -f "servant-client/configure.ac" ]; then (cd "servant-client" && autoreconf -i); fi - - if [ -f "servant-docs/configure.ac" ]; then (cd "servant-docs" && autoreconf -i); fi - - if [ -f "servant-server/configure.ac" ]; then (cd "servant-server" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - - PKGDIR_servant_client="$(find . -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')" - - PKGDIR_servant_docs="$(find . -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')" - - PKGDIR_servant_server="$(find . -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - echo "packages: ${PKGDIR_servant_client}" >> cabal.project - echo "packages: ${PKGDIR_servant_docs}" >> cabal.project - echo "packages: ${PKGDIR_servant_server}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - | - echo "constraints: foundatiion >= 0.14" >> cabal.project - echo "allow-newer: servant-js:servant" >> cabal.project - echo "allow-newer: servant-js:servant-foreign" >> cabal.project - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_docs} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_server} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--ghc-head","travis","empty-line.project"] -# EOF diff --git a/fixtures/enabled-jobs.travis b/fixtures/enabled-jobs.travis deleted file mode 100644 index ed83506f..00000000 --- a/fixtures/enabled-jobs.travis +++ /dev/null @@ -1,327 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.10.1 9.12.1 ghcjs-8.4 -# This Travis job script has been generated by a script via -# -# haskell-ci '--enabled-jobs=>=8' 'travis' 'enabled-jobs.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghcjs-8.4 - addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu jammy main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x jammy main"}]}} - os: linux - - compiler: ghc-9.12.1 - addons: {"apt":{"packages":["ghc-9.12.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.10.1 - addons: {"apt":{"packages":["ghc-9.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.3 - addons: {"apt":{"packages":["ghc-9.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.2 - addons: {"apt":{"packages":["ghc-9.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.8.1 - addons: {"apt":{"packages":["ghc-9.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.6 - addons: {"apt":{"packages":["ghc-9.6.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.5 - addons: {"apt":{"packages":["ghc-9.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.4 - addons: {"apt":{"packages":["ghc-9.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.3 - addons: {"apt":{"packages":["ghc-9.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.2 - addons: {"apt":{"packages":["ghc-9.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.6.1 - addons: {"apt":{"packages":["ghc-9.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.8 - addons: {"apt":{"packages":["ghc-9.4.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.7 - addons: {"apt":{"packages":["ghc-9.4.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.6 - addons: {"apt":{"packages":["ghc-9.4.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.5 - addons: {"apt":{"packages":["ghc-9.4.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.4 - addons: {"apt":{"packages":["ghc-9.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.3 - addons: {"apt":{"packages":["ghc-9.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.2 - addons: {"apt":{"packages":["ghc-9.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.4.1 - addons: {"apt":{"packages":["ghc-9.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.8 - addons: {"apt":{"packages":["ghc-9.2.8","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.7 - addons: {"apt":{"packages":["ghc-9.2.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.6 - addons: {"apt":{"packages":["ghc-9.2.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.5 - addons: {"apt":{"packages":["ghc-9.2.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.4 - addons: {"apt":{"packages":["ghc-9.2.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.3 - addons: {"apt":{"packages":["ghc-9.2.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.2 - addons: {"apt":{"packages":["ghc-9.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.2.1 - addons: {"apt":{"packages":["ghc-9.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.2 - addons: {"apt":{"packages":["ghc-9.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-9.0.1 - addons: {"apt":{"packages":["ghc-9.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - | - if echo $CC | grep -q ghcjs; then - GHCJS=true; GHCJSARITH=1; - else - GHCJS=false; GHCJSARITH=0; - fi - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - if [ $((GHCJSARITH)) -ne 0 ] ; then HC=${HC}js ; fi - - if [ $((GHCJSARITH)) -ne 0 ] ; then WITHCOMPILER="--ghcjs ${WITHCOMPILER}js" ; fi - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - if [ $((GHCJSARITH)) -ne 0 ] ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then HEADHACKAGE=true ; fi - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config - - | - if $HEADHACKAGE; then - echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config - echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config - echo " secure: True" >> $CABALHOME/config - echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config - echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config - echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config - echo " key-threshold: 3" >> $CABALHOME/config - echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config - fi -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - node --version - - echo $GHCJS - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: splitmix" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "splitmix/configure.ac" ]; then (cd "splitmix" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_splitmix="$(find . -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_splitmix}" >> cabal.project - - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct ; fi - # cabal check... - - (cd ${PKGDIR_splitmix} && ${CABAL} -vnormal check) - # haddock... - - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all ; fi - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--enabled-jobs=>=8","travis","enabled-jobs.project"] -# EOF diff --git a/fixtures/fail-versions.travis b/fixtures/fail-versions.travis deleted file mode 100644 index 46f0d51b..00000000 --- a/fixtures/fail-versions.travis +++ /dev/null @@ -1,251 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci 'travis' 'fail-versions.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - echo "packages: servant-client" >> cabal.project - echo "packages: servant-client-core" >> cabal.project - echo "packages: servant-docs" >> cabal.project - echo "packages: servant-foreign" >> cabal.project - echo "packages: servant-server" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client-core' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-foreign' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-client-core|servant-docs|servant-foreign|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - if [ -f "servant-client/configure.ac" ]; then (cd "servant-client" && autoreconf -i); fi - - if [ -f "servant-client-core/configure.ac" ]; then (cd "servant-client-core" && autoreconf -i); fi - - if [ -f "servant-docs/configure.ac" ]; then (cd "servant-docs" && autoreconf -i); fi - - if [ -f "servant-foreign/configure.ac" ]; then (cd "servant-foreign" && autoreconf -i); fi - - if [ -f "servant-server/configure.ac" ]; then (cd "servant-server" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - - PKGDIR_servant_client="$(find . -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')" - - PKGDIR_servant_client_core="$(find . -maxdepth 1 -type d -regex '.*/servant-client-core-[0-9.]*')" - - PKGDIR_servant_docs="$(find . -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')" - - PKGDIR_servant_foreign="$(find . -maxdepth 1 -type d -regex '.*/servant-foreign-[0-9.]*')" - - PKGDIR_servant_server="$(find . -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - echo "packages: ${PKGDIR_servant_client}" >> cabal.project - echo "packages: ${PKGDIR_servant_client_core}" >> cabal.project - echo "packages: ${PKGDIR_servant_docs}" >> cabal.project - echo "packages: ${PKGDIR_servant_foreign}" >> cabal.project - echo "packages: ${PKGDIR_servant_server}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client-core' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-foreign' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-client-core|servant-docs|servant-foreign|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client_core} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_docs} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_foreign} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_server} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["travis","fail-versions.project"] -# EOF diff --git a/fixtures/irc-channels.travis b/fixtures/irc-channels.travis deleted file mode 100644 index d1c0a557..00000000 --- a/fixtures/irc-channels.travis +++ /dev/null @@ -1,213 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--irc-channels=irc.libera.chat#mychannel' 'travis' 'irc-channels.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -notifications: - irc: - channels: - - irc.libera.chat#mychannel - skip_join: true - template: - - "\x0313servant\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}" -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--irc-channels=irc.libera.chat#mychannel","travis","irc-channels.project"] -# EOF diff --git a/fixtures/messy.travis b/fixtures/messy.travis deleted file mode 100644 index c9f207a3..00000000 --- a/fixtures/messy.travis +++ /dev/null @@ -1,258 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: ghc-head 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--ghc-head' '--apt=fftw3-dev' '--installed=-all +deepseq' 'travis' 'messy.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-head - addons: {"apt":{"packages":["ghc-head","cabal-install-head","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - allow_failures: - - compiler: ghc-head -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - if [ $((HCNUMVER > 81007)) -ne 0 ] ; then HEADHACKAGE=true ; fi - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config - - | - if $HEADHACKAGE; then - echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config - echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config - echo " secure: True" >> $CABALHOME/config - echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config - echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config - echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config - echo " key-threshold: 3" >> $CABALHOME/config - echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config - fi -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - echo "packages: servant-client" >> cabal.project - echo "packages: servant-docs" >> cabal.project - echo "packages: servant-server" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in deepseq; do echo \"constraints: $pkg installed\" >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - if [ -f "servant-client/configure.ac" ]; then (cd "servant-client" && autoreconf -i); fi - - if [ -f "servant-docs/configure.ac" ]; then (cd "servant-docs" && autoreconf -i); fi - - if [ -f "servant-server/configure.ac" ]; then (cd "servant-server" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - - PKGDIR_servant_client="$(find . -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')" - - PKGDIR_servant_docs="$(find . -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')" - - PKGDIR_servant_server="$(find . -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - echo "packages: ${PKGDIR_servant_client}" >> cabal.project - echo "packages: ${PKGDIR_servant_docs}" >> cabal.project - echo "packages: ${PKGDIR_servant_server}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-client' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-docs' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - | - if $HEADHACKAGE; then - echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config - fi - - "for pkg in deepseq; do echo \"constraints: $pkg installed\" >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_client} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_docs} && ${CABAL} -vnormal check) - - (cd ${PKGDIR_servant_server} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--ghc-head","--apt=fftw3-dev","--installed=-all +deepseq","travis","messy.project"] -# EOF diff --git a/fixtures/psql.travis b/fixtures/psql.travis deleted file mode 100644 index b610cefd..00000000 --- a/fixtures/psql.travis +++ /dev/null @@ -1,210 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--postgresql' 'travis' 'psql.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy -git: - # whether to recursively clone submodules - submodules: false -services: - - postgresql -addons: - postgresql: "10" -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--postgresql","travis","psql.project"] -# EOF diff --git a/fixtures/travis-patch.travis b/fixtures/travis-patch.travis deleted file mode 100644 index 7b6f0808..00000000 --- a/fixtures/travis-patch.travis +++ /dev/null @@ -1,206 +0,0 @@ -# SUCCESS -# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 -# This Travis job script has been generated by a script via -# -# haskell-ci '--travis-patches=travis-patch.patch' 'travis' 'travis-patch.project' -# -# To regenerate the script (for example after adjusting tested-with) run -# -# haskell-ci regenerate -# -# For more information, see https://github.com/haskell-CI/haskell-ci -# -version: ~> 1.0 -language: c -os: linux -dist: jammy - git: - # whether to recursively clone submodules - submodules: false -cache: - directories: - - $HOME/.cabal/packages - - $HOME/.cabal/store - - $HOME/.hlint -before_cache: - - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log - # remove files that are regenerated by 'cabal update' - - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.* - - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar - - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx - - rm -rfv $CABALHOME/packages/head.hackage -jobs: - include: - - compiler: ghc-8.10.7 - addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.6 - addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.5 - addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.4 - addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.3 - addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.2 - addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.10.1 - addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.4 - addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.3 - addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.2 - addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.8.1 - addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.5 - addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.4 - addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.3 - addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.2 - addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.6.1 - addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.4 - addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.3 - addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.2 - addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.4.1 - addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.2 - addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.2.1 - addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.2 - addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux - - compiler: ghc-8.0.1 - addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}} - os: linux -before_install: - - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - - WITHCOMPILER="-w $HC" - - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//') - - HCPKG="$HC-pkg" - - unset CC - - CABAL=/opt/ghc/bin/cabal - - CABALHOME=$HOME/.cabal - - export PATH="$CABALHOME/bin:$PATH" - - TOP=$(pwd) - - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - - echo $HCNUMVER - - CABAL="$CABAL -vnormal+nowrap" - - set -o pipefail - - TEST=--enable-tests - - BENCH=--enable-benchmarks - - HEADHACKAGE=false - - rm -f $CABALHOME/config - - | - echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config - echo "remote-build-reporting: anonymous" >> $CABALHOME/config - echo "write-ghc-environment-files: never" >> $CABALHOME/config - echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config - echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config - echo "world-file: $CABALHOME/world" >> $CABALHOME/config - echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config - echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config - echo "installdir: $CABALHOME/bin" >> $CABALHOME/config - echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config - echo "store-dir: $CABALHOME/store" >> $CABALHOME/config - echo "install-dirs user" >> $CABALHOME/config - echo " prefix: $CABALHOME" >> $CABALHOME/config - echo "repository hackage.haskell.org" >> $CABALHOME/config - echo " url: http://hackage.haskell.org/" >> $CABALHOME/config -install: - - ${CABAL} --version - - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]" - - | - echo "program-default-options" >> $CABALHOME/config - echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config - - cat $CABALHOME/config - - rm -fv cabal.project cabal.project.local cabal.project.freeze - - travis_retry ${CABAL} v2-update -v - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: servant" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - - if [ -f "servant/configure.ac" ]; then (cd "servant" && autoreconf -i); fi - - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} - - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - - rm cabal.project.freeze - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all - - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all -script: - - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX) - # Packaging... - - ${CABAL} v2-sdist all - # Unpacking... - - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/ - - cd ${DISTDIR} || false - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \; - - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \; - - PKGDIR_servant="$(find . -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" - # Generate cabal.project - - rm -rf cabal.project cabal.project.local cabal.project.freeze - - touch cabal.project - - | - echo "packages: ${PKGDIR_servant}" >> cabal.project - - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant' >> cabal.project ; fi - - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - - "" - - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - - cat cabal.project || true - - cat cabal.project.local || true - # Building... - # this builds all libraries and executables (without tests/benchmarks) - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - # Building with tests and benchmarks... - # build & run tests, build benchmarks - - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always - # Testing... - - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct - # cabal check... - - (cd ${PKGDIR_servant} && ${CABAL} -vnormal check) - # haddock... - - ${CABAL} v2-haddock --haddock-all $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all - # Building without installed constraints for packages in global-db... - - rm -f cabal.project.local - - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all - -# REGENDATA ["--travis-patches=travis-patch.patch","travis","travis-patch.project"] -# EOF diff --git a/haskell-ci.cabal b/haskell-ci.cabal index db55edde..f248f9c1 100644 --- a/haskell-ci.cabal +++ b/haskell-ci.cabal @@ -1,11 +1,10 @@ cabal-version: 2.2 name: haskell-ci version: 0.19.20241121 -synopsis: Cabal package script generator for Travis-CI +synopsis: Haskell CI script generator description: Script generator (@haskell-ci@) for [GitHub Actions](https://docs.github.com/en/actions) and - [Travis-CI](https://travis-ci.org/) for continuous-integration testing of Haskell Cabal packages. . Included features (not limited to): @@ -17,12 +16,6 @@ description: * Generates Haddocks * GHCJS support * building with specific constraints - . - === Quick Start Guide - . - Add a @tested-with@ line to your @.cabal@ file (e.g. @tested-with: GHC == 8.0.2 || == 8.2.2@) and then run @haskell-ci yourpackage.cabal -o .travis.yml@ to generate the Travis-CI job script. - . - See @haskell-ci --help@ for more information. homepage: https://haskell-ci.rtfd.org/ bug-reports: https://github.com/haskell-CI/haskell-ci/issues @@ -51,7 +44,6 @@ extra-source-files: fixtures/*.github fixtures/*.patch fixtures/*.project - fixtures/*.travis fixtures/servant/servant.cabal fixtures/servant-client/servant-client.cabal fixtures/servant-client-core/servant-client-core.cabal @@ -154,8 +146,6 @@ library haskell-ci-internal HaskellCI.ShVersionRange HaskellCI.TestedWith HaskellCI.Tools - HaskellCI.Travis - HaskellCI.Travis.Yaml HaskellCI.VersionInfo HaskellCI.YamlSyntax diff --git a/src/HaskellCI.hs b/src/HaskellCI.hs index cae69fc0..6a3058ee 100644 --- a/src/HaskellCI.hs +++ b/src/HaskellCI.hs @@ -4,10 +4,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} --- | New-style @.travis.yml@ script generator using cabal 1.24's nix-style --- tech-preview facilities. --- --- See also +-- | See -- -- NB: This code deliberately avoids relying on non-standard packages and -- is expected to compile/work with at least GHC 7.0 through GHC 8.0 @@ -21,7 +18,6 @@ module HaskellCI ( runDiagnosticsT, -- ** Variants bashFromConfigFile, - travisFromConfigFile, githubFromConfigFile, ) where @@ -63,7 +59,6 @@ import HaskellCI.GitHub import HaskellCI.Jobs import HaskellCI.Package import HaskellCI.TestedWith -import HaskellCI.Travis import HaskellCI.VersionInfo import HaskellCI.YamlSyntax @@ -90,11 +85,9 @@ main = do CommandRegenerate -> do regenerateBash opts regenerateGitHub opts - regenerateTravis opts CommandBash f -> doBash argv0 f opts CommandGitHub f -> doGitHub argv0 f opts - CommandTravis f -> doTravis argv0 f opts CommandVersionInfo -> do putStrLn $ "haskell-ci " ++ haskellCIVerStr ++ " with dependencies" @@ -113,92 +106,6 @@ main = do ifor_ :: Map.Map k v -> (k -> v -> IO a) -> IO () ifor_ xs f = Map.foldlWithKey' (\m k a -> m >> void (f k a)) (return ()) xs -------------------------------------------------------------------------------- --- Travis -------------------------------------------------------------------------------- - -defaultTravisPath :: FilePath -defaultTravisPath = ".travis.yml" - -doTravis :: [String] -> FilePath -> Options -> IO () -doTravis args path opts = do - contents <- travisFromConfigFile args opts path - case optOutput opts of - Nothing -> BS.writeFile defaultTravisPath contents - Just OutputStdout -> BS.putStr contents - Just (OutputFile fp) -> BS.writeFile fp contents - -travisFromConfigFile - :: forall m. (MonadIO m, MonadDiagnostics m, MonadMask m) - => [String] - -> Options - -> FilePath - -> m ByteString -travisFromConfigFile args opts path = do - gitconfig <- liftIO readGitConfig - cabalFiles <- getCabalFiles (optInputType' opts path) path - config' <- findConfigFile (optConfig opts) - let config = optConfigMorphism opts config' - pkgs <- T.mapM (configFromCabalFile config) cabalFiles - (ghcs, prj) <- case checkVersions (cfgTestedWith config) pkgs of - Right x -> return x - Left [] -> putStrLnErr "panic: checkVersions failed without errors" - Left (e:es) -> putStrLnErrs (e :| es) - - let prj' | cfgGhcHead config = over (mapped . field @"pkgJobs") (S.insert GHCHead) prj - | otherwise = prj - - ls <- genTravisFromConfigs args config gitconfig prj' ghcs - patchTravis config ls - -genTravisFromConfigs - :: (Monad m, MonadDiagnostics m) - => [String] - -> Config - -> GitConfig - -> Project URI Void Package - -> Set CompilerVersion - -> m ByteString -genTravisFromConfigs argv config _gitconfig prj vs = do - let jobVersions = makeJobVersions config vs - case makeTravis argv config prj jobVersions of - Left err -> putStrLnErr $ displayException err - Right travis -> do - describeJobs "Travis-CI config" (cfgTestedWith config) jobVersions (prjPackages prj) - return $ toUTF8BS $ - prettyYaml id (reann (travisHeader (cfgInsertVersion config) argv ++) $ toYaml travis) - ++ unlines - [ "" - , "# REGENDATA " ++ if cfgInsertVersion config then show (haskellCIVerStr, argv) else show argv - , "# EOF" - ] - -regenerateTravis :: Options -> IO () -regenerateTravis opts = do - let fp = defaultTravisPath - - -- change the directory - for_ (optCwd opts) setCurrentDirectory - - -- read, and then change to the directory - withContents fp noTravisYml $ \contents -> case findRegendataArgv contents of - Nothing -> do - hPutStrLn stderr $ "Error: expected REGENDATA line in " ++ fp - exitFailure - - Just (mversion, argv) -> do - -- warn if we regenerate using older haskell-ci - for_ mversion $ \version -> for_ (simpleParsec haskellCIVerStr) $ \haskellCIVer -> - when (haskellCIVer < version) $ do - hPutStrLn stderr $ "Regenerating using older haskell-ci-" ++ haskellCIVerStr - hPutStrLn stderr $ "File generated using haskell-ci-" ++ prettyShow version - - (f, opts') <- parseOptions argv - doTravis argv f ( optionsWithOutputFile fp <> opts' <> opts) - where - noTravisYml :: IO () - noTravisYml = putStrLn "No .travis.yml, skipping travis regeneration" - ------------------------------------------------------------------------------- -- Bash ------------------------------------------------------------------------------- @@ -384,11 +291,6 @@ findConfigFile ConfigOptAuto = do -- Patches ------------------------------------------------------------------------------- -patchTravis - :: (MonadIO m, MonadMask m) - => Config -> ByteString -> m ByteString -patchTravis = patchYAML . cfgTravisPatches - patchGitHub :: (MonadIO m, MonadMask m) => Config -> ByteString -> m ByteString diff --git a/src/HaskellCI/Cli.hs b/src/HaskellCI/Cli.hs index ce10fea8..e0dc79b7 100644 --- a/src/HaskellCI/Cli.hs +++ b/src/HaskellCI/Cli.hs @@ -20,8 +20,7 @@ import HaskellCI.VersionInfo ------------------------------------------------------------------------------- data Command - = CommandTravis FilePath - | CommandBash FilePath + = CommandBash FilePath | CommandGitHub FilePath | CommandRegenerate | CommandListGHC @@ -130,16 +129,12 @@ cliParserInfo = O.info ((,) <$> cmdP <*> optionsP O.<**> versionP O.<**> O.helpe where cmdP = O.subparser (mconcat [ O.command "regenerate" $ O.info (pure CommandRegenerate) $ O.progDesc "Regenerate outputs" - , O.command "travis" $ O.info travisP $ O.progDesc "Generate travis-ci config" , O.command "bash" $ O.info bashP $ O.progDesc "Generate local-bash-docker script" , O.command "github" $ O.info githubP $ O.progDesc "Generate GitHub Actions config" , O.command "list-ghc" $ O.info (pure CommandListGHC) $ O.progDesc "List known GHC versions" , O.command "dump-config" $ O.info (pure CommandDumpConfig) $ O.progDesc "Dump cabal.haskell-ci config with default values" , O.command "version-info" $ O.info (pure CommandVersionInfo) $ O.progDesc "Print versions info haskell-ci was compiled with" - ]) <|> travisP - - travisP = CommandTravis - <$> O.strArgument (O.metavar "CABAL.FILE" <> O.action "file" <> O.help "Either or cabal.project") + ]) bashP = CommandBash <$> O.strArgument (O.metavar "CABAL.FILE" <> O.action "file" <> O.help "Either or cabal.project") @@ -163,7 +158,6 @@ parseOptions argv = case res of res = O.execParserPure (O.prefs O.subparserInline) cliParserInfo argv fromCmd :: Command -> IO FilePath - fromCmd (CommandTravis fp) = return fp fromCmd (CommandBash fp) = return fp fromCmd (CommandGitHub fp) = return fp fromCmd cmd = fail $ "Command without filepath: " ++ show cmd diff --git a/src/HaskellCI/Travis.hs b/src/HaskellCI/Travis.hs deleted file mode 100644 index e095332f..00000000 --- a/src/HaskellCI/Travis.hs +++ /dev/null @@ -1,619 +0,0 @@ --- | Take configuration, produce 'Travis'. -{-# LANGUAGE NamedFieldPuns #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# OPTIONS_GHC -Wno-unused-matches #-} -module HaskellCI.Travis ( - makeTravis, - travisHeader, - ) where - -import HaskellCI.Prelude - -import qualified Data.Map.Strict as M -import qualified Data.Set as S -import qualified Distribution.Fields.Pretty as C -import qualified Distribution.Package as C -import qualified Distribution.Pretty as C -import qualified Distribution.Types.VersionRange as C -import qualified Distribution.Version as C - -import Cabal.Project -import HaskellCI.Auxiliary -import HaskellCI.Compiler -import HaskellCI.Config -import HaskellCI.Config.ConstraintSet -import HaskellCI.Config.Doctest -import HaskellCI.Config.Installed -import HaskellCI.Config.Jobs -import HaskellCI.Config.PackageScope -import HaskellCI.Config.Validity -import HaskellCI.HeadHackage -import HaskellCI.Jobs -import HaskellCI.List -import HaskellCI.Package -import HaskellCI.Sh -import HaskellCI.ShVersionRange -import HaskellCI.Tools -import HaskellCI.Travis.Yaml -import HaskellCI.VersionInfo - -------------------------------------------------------------------------------- --- Travis header -------------------------------------------------------------------------------- - -travisHeader :: Bool -> [String] -> [String] -travisHeader insertVersion argv = - [ "This Travis job script has been generated by a script via" - , "" - , " haskell-ci " ++ unwords [ "'" ++ a ++ "'" | a <- argv ] - , "" - , "To regenerate the script (for example after adjusting tested-with) run" - , "" - , " haskell-ci regenerate" - , "" - , "For more information, see https://github.com/haskell-CI/haskell-ci" - , "" - ] ++ - if insertVersion then - [ "version: " ++ haskellCIVerStr - , "" - ] else [] - -------------------------------------------------------------------------------- --- Generate travis configuration -------------------------------------------------------------------------------- - -{- -Travis CI–specific notes: - -* We use -j2 for parallelism, as Travis' virtual environments use 2 cores, per - https://docs.travis-ci.com/user/reference/overview/#virtualisation-environment-vs-operating-system. --} - -makeTravis - :: [String] - -> Config - -> Project URI Void Package - -> JobVersions - -> Either HsCiError Travis -- TODO: writer -makeTravis argv config@Config {..} prj jobs@JobVersions {..} = do - -- before caching: clear some redundant stuff - beforeCache <- runSh $ when cfgCache $ do - sh "rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log" - comment "remove files that are regenerated by 'cabal update'" - sh "rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*" -- legacy - sh "rm -fv $CABALHOME/packages/hackage.haskell.org/*.json" -- TUF meta-data - sh "rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache" - sh "rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar" - sh "rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx" - sh "rm -rfv $CABALHOME/packages/head.hackage" -- if we cache, it will break builds. - - -- before install: we set up the environment, install GHC/cabal on OSX - beforeInstall <- runSh $ do - -- Validity checks - checkConfigValidity config jobs - - -- This have to be first - when anyGHCJS $ sh $ unlines - [ "if echo $CC | grep -q ghcjs; then" - , " GHCJS=true; GHCJSARITH=1;" - , "else" - , " GHCJS=false; GHCJSARITH=0;" - , "fi" - ] - - -- Adjust $HC - sh "HC=$(echo \"/opt/$CC/bin/ghc\" | sed 's/-/\\//')" - sh "WITHCOMPILER=\"-w $HC\"" - shForJob RangeGHCJS "HC=${HC}js" - shForJob RangeGHCJS "WITHCOMPILER=\"--ghcjs ${WITHCOMPILER}js\"" - - -- Needed to work around haskell/cabal#6214 - sh "HADDOCK=$(echo \"/opt/$CC/bin/haddock\" | sed 's/-/\\//')" - unless (null macosVersions) $ do - sh $ "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then HADDOCK=$(echo $HADDOCK | sed \"s:^/opt:$HOME/.ghc-install:\"); fi" - - -- Hack: happy needs ghc. Let's install version matching GHCJS. - -- At the moment, there is only GHCJS-8.4, so we install GHC-8.4.4 - when anyGHCJS $ do - shForJob RangeGHCJS $ "PATH=\"/opt/ghc/8.4.4/bin:$PATH\"" - - sh "HCPKG=\"$HC-pkg\"" - sh "unset CC" - -- cabal - sh "CABAL=/opt/ghc/bin/cabal" - sh "CABALHOME=$HOME/.cabal" - -- PATH - sh "export PATH=\"$CABALHOME/bin:$PATH\"" - -- rootdir is useful for manual script additions - sh "TOP=$(pwd)" - -- macOS installing - let haskellOnMacos = "https://haskell.futurice.com/haskell-on-macos.py" - unless (null macosVersions) $ do - sh $ "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then curl " ++ haskellOnMacos ++ " | python3 - --make-dirs --install-dir=$HOME/.ghc-install --cabal-alias=3.2.0.0 install cabal-install-3.2.0.0 ${TRAVIS_COMPILER}; fi" - sh' [2034,2039] "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then HC=$HOME/.ghc-install/ghc/bin/$TRAVIS_COMPILER; WITHCOMPILER=\"-w $HC\"; HCPKG=$HOME/.ghc-install/ghc/bin/${TRAVIS_COMPILER}/ghc/ghc-pkg; CABAL=$HOME/.ghc-install/ghc/bin/cabal; fi" - -- HCNUMVER, numeric HC version, e.g. ghc 7.8.4 is 70804 and 7.10.3 is 71003 - sh "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" - sh "echo $HCNUMVER" - -- verbose in .cabal/config is not respected - -- https://github.com/haskell/cabal/issues/5956 - sh "CABAL=\"$CABAL -vnormal+nowrap\"" - - -- SC2039: In POSIX sh, set option pipefail is undefined. Travis is bash, so it's fine :) - sh' [2039, 3040] "set -o pipefail" - - sh "TEST=--enable-tests" - shForJob (invertCompilerRange $ Range cfgTests) "TEST=--disable-tests" - sh "BENCH=--enable-benchmarks" - shForJob (invertCompilerRange $ Range cfgBenchmarks) "BENCH=--disable-benchmarks" - sh "HEADHACKAGE=false" - shForJob (Range cfgHeadHackage \/ RangePoints (S.singleton GHCHead)) "HEADHACKAGE=true" - - -- create ~/.cabal/config - sh "rm -f $CABALHOME/config" - cat "$CABALHOME/config" - [ "verbose: normal +nowrap +markoutput" -- https://github.com/haskell/cabal/issues/5956 - , "remote-build-reporting: anonymous" - , "write-ghc-environment-files: never" - , "remote-repo-cache: $CABALHOME/packages" - , "logs-dir: $CABALHOME/logs" - , "world-file: $CABALHOME/world" - , "extra-prog-path: $CABALHOME/bin" - , "symlink-bindir: $CABALHOME/bin" - , "installdir: $CABALHOME/bin" - , "build-summary: $CABALHOME/logs/build.log" - , "store-dir: $CABALHOME/store" - , "install-dirs user" - , " prefix: $CABALHOME" - , "repository hackage.haskell.org" - , " url: http://hackage.haskell.org/" - ] - - -- Add head.hackage repository to ~/.cabal/config - -- (locally you want to add it to cabal.project) - unless (S.null headGhcVers) $ sh $ unlines $ - [ "if $HEADHACKAGE; then" - ] ++ - lines (catCmd Double "$CABALHOME/config" $ headHackageRepoStanza cfgHeadHackageOverride) ++ - [ "fi" - ] - - -- in install step we install tools and dependencies - install <- runSh $ do - sh "${CABAL} --version" - sh "echo \"$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]\"" - when anyGHCJS $ do - sh "node --version" - sh "echo $GHCJS" - - -- Cabal jobs - for_ (cfgJobs >>= cabalJobs) $ \n -> - sh $ "echo 'jobs: " ++ show n ++ "' >> $CABALHOME/config" - - -- GHC jobs + ghc-options - for_ (cfgJobs >>= ghcJobs) $ \m -> do - shForJob (Range $ C.orLaterVersion (C.mkVersion [7,8])) $ "GHCJOBS=-j" ++ show m - cat "$CABALHOME/config" - [ "program-default-options" - , " ghc-options: $GHCJOBS +RTS -M6G -RTS" - ] - - -- output config for debugging purposes - sh "cat $CABALHOME/config" - - -- remove project own cabal.project files - sh "rm -fv cabal.project cabal.project.local cabal.project.freeze" - - -- Update hackage index. - sh "travis_retry ${CABAL} v2-update -v" - - -- Install doctest - let doctestVersionConstraint - | C.isAnyVersion (cfgDoctestVersion cfgDoctest) = "" - | otherwise = " --constraint='doctest " ++ C.prettyShow (cfgDoctestVersion cfgDoctest) ++ "'" - when doctestEnabled $ - shForJob (Range (cfgDoctestEnabled cfgDoctest) /\ doctestJobVersionRange) $ - cabal $ "v2-install $WITHCOMPILER --ignore-project -j2 doctest" ++ doctestVersionConstraint - - -- Install cabal-plan (for ghcjs tests) - when (anyGHCJS && cfgGhcjsTests) $ do - shForJob RangeGHCJS $ cabal "v2-install -w ghc-8.4.4 --ignore-project -j2 cabal-plan --constraint='cabal-plan ^>=0.6.0.0' --constraint='cabal-plan +exe'" - - -- Install happy - when anyGHCJS $ for_ cfgGhcjsTools $ \t -> - shForJob RangeGHCJS $ cabal $ "v2-install -w ghc-8.4.4 --ignore-project -j2" ++ C.prettyShow t - - -- create cabal.project file - generateCabalProject False - - -- autoreconf - for_ pkgs $ \Pkg{pkgDir} -> - sh $ "if [ -f \"" ++ pkgDir ++ "/configure.ac\" ]; then (cd \"" ++ pkgDir ++ "\" && autoreconf -i); fi" - - -- dump install plan - sh $ cabal "v2-freeze $WITHCOMPILER ${TEST} ${BENCH}" - sh "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'" - sh "rm cabal.project.freeze" - - -- Install dependencies - when cfgInstallDeps $ do - -- install dependencies - sh $ cabalTW "v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all" - - -- install dependencies for no-test-no-bench - shForJob (Range cfgNoTestsNoBench) $ cabalTW "v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all" - - -- Here starts the actual work to be performed for the package under test; - -- any command which exits with a non-zero exit code causes the build to fail. - script <- runSh $ do - sh "DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)" - - -- sdist - foldedSh "Packaging..." $ do - sh $ cabal "v2-sdist all" - - -- unpack - foldedSh "Unpacking..." $ do - sh "mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/" - sh "cd ${DISTDIR} || false" -- fail explicitly, makes SC happier - sh "find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \\;" - sh "find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \\;" - - for_ pkgs $ \Pkg{pkgName} -> do - sh $ pkgNameDirVariable' pkgName ++ "=\"$(find . -maxdepth 1 -type d -regex '.*/" ++ pkgName ++ "-[0-9.]*')\"" - - generateCabalProject True - - when (anyGHCJS && cfgGhcjsTests) $ sh $ unlines $ - [ "pkgdir() {" - , " case $1 in" - ] ++ - [ " " ++ pkgName ++ ") echo " ++ pkgNameDirVariable pkgName ++ " ;;" - | Pkg{pkgName} <- pkgs - ] ++ - [ " esac" - , "}" - ] - - -- build no-tests no-benchmarks - unless (equivVersionRanges C.noVersion cfgNoTestsNoBench) $ foldedSh "Building..." $ do - comment "this builds all libraries and executables (without tests/benchmarks)" - shForJob (Range cfgNoTestsNoBench) $ cabal "v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all" - - -- build everything - foldedSh "Building with tests and benchmarks..." $ do - comment "build & run tests, build benchmarks" - sh $ cabal "v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always" - - -- cabal v2-test fails if there are no test-suites. - foldedSh "Testing..." $ do - shForJob (RangeGHC /\ Range (cfgTests /\ cfgRunTests) /\ hasTests) $ - cabal $ "v2-test $WITHCOMPILER ${TEST} ${BENCH} all" ++ testShowDetails - - when cfgGhcjsTests $ shForJob (RangeGHCJS /\ hasTests) $ unwords - [ "cabal-plan list-bins '*:test:*' | while read -r line; do" - , "testpkg=$(echo \"$line\" | perl -pe 's/:.*//');" - , "testexe=$(echo \"$line\" | awk '{ print $2 }');" - , "echo \"testing $textexe in package $textpkg\";" - , "(cd \"$(pkgdir $testpkg)\" && nodejs \"$testexe\".jsexe/all.js);" - , "done" - ] - - -- doctest - when doctestEnabled $ foldedSh "Doctest..." $ do - let doctestOptions = unwords $ cfgDoctestOptions cfgDoctest - sh $ "$CABAL v2-build $WITHCOMPILER ${TEST} ${BENCH} all --dry-run" - unless (null $ cfgDoctestFilterEnvPkgs cfgDoctest) $ do - -- cabal-install mangles unit ids on the OSX, - -- removing the vowels to make filepaths shorter - let manglePkgNames :: String -> [String] - manglePkgNames n - | null macosVersions = [n] - | otherwise = [n, filter notVowel n] - where - notVowel c = notElem c ("aeiou" :: String) - let filterPkgs = intercalate "|" $ concatMap (manglePkgNames . C.unPackageName) $ cfgDoctestFilterEnvPkgs cfgDoctest - sh $ "perl -i -e 'while () { print unless /package-id\\s+(" ++ filterPkgs ++ ")-\\d+(\\.\\d+)*/; }' .ghc.environment.*" - for_ pkgs $ \Pkg{pkgName,pkgGpd,pkgJobs} -> - when (C.mkPackageName pkgName `notElem` cfgDoctestFilterSrcPkgs cfgDoctest) $ do - for_ (doctestArgs pkgGpd) $ \args -> do - let args' = unwords args - let vr = Range (cfgDoctestEnabled cfgDoctest) - /\ doctestJobVersionRange - /\ RangePoints pkgJobs - unless (null args) $ shForJob vr $ - "(cd " ++ pkgNameDirVariable pkgName ++ " && doctest " ++ doctestOptions ++ " " ++ args' ++ ")" - - -- cabal check - when cfgCheck $ foldedSh "cabal check..." $ do - for_ pkgs $ \Pkg{pkgName,pkgJobs} -> shForJob (RangePoints pkgJobs) $ - "(cd " ++ pkgNameDirVariable pkgName ++ " && ${CABAL} -vnormal check)" - - -- haddock - unless (equivVersionRanges C.noVersion cfgHaddock) $ - foldedSh "haddock..." $ - shForJob (RangeGHC /\ Range cfgHaddock) $ cabal $ "v2-haddock --haddock-all $WITHCOMPILER " ++ withHaddock ++ " ${TEST} ${BENCH} all" - - -- unconstained build - -- Have to build last, as we remove cabal.project.local - unless (equivVersionRanges C.noVersion cfgUnconstrainted) $ - foldedSh "Building without installed constraints for packages in global-db..." $ do - shForJob (Range cfgUnconstrainted) "rm -f cabal.project.local" - shForJob (Range cfgUnconstrainted) $ cabal "v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all" - - -- and now, as we don't have cabal.project.local; - -- we can test with other constraint sets - unless (null cfgConstraintSets) $ do - comment "Constraint sets" - sh "rm -f cabal.project.local" - - for_ cfgConstraintSets $ \cs -> do - let name = csName cs - let shForCs = shForJob (Range (csGhcVersions cs)) - let shForCs' r = shForJob (Range (csGhcVersions cs) /\ r) - let testFlag = if csTests cs then "--enable-tests" else "--disable-tests" - let benchFlag = if csBenchmarks cs then "--enable-benchmarks" else "--disable-benchmarks" - let constraintFlags = map (\x -> "--constraint='" ++ x ++ "'") (csConstraints cs) - let allFlags = unwords (testFlag : benchFlag : constraintFlags) - - foldedSh' name ("Constraint set " ++ name) $ do - shForCs $ cabal $ "v2-build $WITHCOMPILER " ++ allFlags ++ " --dependencies-only -j2 all" - shForCs $ cabal $ "v2-build $WITHCOMPILER " ++ allFlags ++ " all" - when (csRunTests cs) $ - shForCs' hasTests $ cabal $ "v2-test $WITHCOMPILER " ++ allFlags ++ " all --test-show-details=direct" - when (csHaddock cs) $ - shForCs $ cabal $ "v2-haddock --haddock-all $WITHCOMPILER " ++ withHaddock ++ " " ++ allFlags ++ " all" - - -- At the end, we allow some raw travis scripts - unless (null cfgRawTravis) $ do - comment "Raw travis commands" - traverse_ sh - [ l - | l <- lines cfgRawTravis - , not (null l) - ] - - -- assemble travis configuration - return Travis - { travisLanguage = "c" - , travisUbuntu = cfgUbuntu - , travisGit = TravisGit - { tgSubmodules = cfgSubmodules - } - , travisCache = TravisCache - { tcDirectories = buildList $ when cfgCache $ do - item "$HOME/.cabal/packages" - item "$HOME/.cabal/store" - item "$HOME/.hlint" - -- on OSX ghc is installed in $HOME so we can cache it - -- independently of linux - when (cfgCache && not (null macosVersions)) $ do - item "$HOME/.ghc-install" - } - , travisBranches = TravisBranches - { tbOnly = cfgOnlyBranches - } - , travisNotifications = TravisNotifications - { tnIRC = justIf (not $ null cfgIrcChannels) $ TravisIRC - { tiChannels = cfgIrcChannels - , tiSkipJoin = True - , tiTemplate = - [ "\x0313" ++ projectName ++ "\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}" - ] - , tiNick = cfgIrcNickname - , tiPassword = cfgIrcPassword - } - , tnEmail = cfgEmailNotifications - } - , travisServices = buildList $ do - when cfgPostgres $ item "postgresql" - , travisAddons = TravisAddons - { taApt = TravisApt [] [] - , taPostgres = if cfgPostgres then Just "10" else Nothing - , taGoogleChrome = cfgGoogleChrome - } - , travisMatrix = TravisMatrix - { tmInclude = buildList $ do - let tellJob :: Bool -> CompilerVersion -> ListBuilder TravisJob () - tellJob osx gv = do - let cvs = dispCabalVersion $ correspondingCabalVersion cfgCabalInstallVersion gv - let gvs = dispGhcVersion gv - - -- https://docs.travis-ci.com/user/installing-dependencies/#adding-apt-sources - let hvrppa :: TravisAptSource - hvrppa = TravisAptSourceLine ("deb http://ppa.launchpad.net/hvr/ghc/ubuntu " ++ C.prettyShow cfgUbuntu ++ " main") (Just "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286") - - let ghcjsAptSources :: [TravisAptSource] - ghcjsAptSources | not (isGHCJS gv) = [] - | otherwise = - [ TravisAptSourceLine ("deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu " ++ C.prettyShow cfgUbuntu ++ " main") Nothing - , TravisAptSourceLine ("deb https://deb.nodesource.com/node_10.x " ++ C.prettyShow cfgUbuntu ++ " main") (Just "https://deb.nodesource.com/gpgkey/nodesource.gpg.key") - ] - - let ghcjsPackages :: [String] - ghcjsPackages = case maybeGHCJS gv of - Just v -> [ "ghc-" ++ C.prettyShow v', "nodejs" ] where - -- TODO: partial maximum - v' = maximum $ filter (`C.withinRange` C.withinVersion v) $ knownGhcVersions - Nothing -> [] - - item TravisJob - { tjCompiler = gvs - , tjOS = if osx then "osx" else "linux" - , tjEnv = case gv of - GHC v -> M.lookup v cfgEnv - _ -> Nothing - , tjAddons = TravisAddons - { taApt = TravisApt - { taPackages = gvs : ("cabal-install-" ++ cvs) : ghcjsPackages ++ S.toList cfgApt - , taSources = hvrppa : ghcjsAptSources - } - - , taPostgres = Nothing - , taGoogleChrome = False - } - } - - for_ (reverse $ S.toList linuxVersions) $ tellJob False - for_ (reverse $ S.toList macosVersions) $ tellJob True - - , tmAllowFailures = - [ TravisAllowFailure $ dispGhcVersion compiler - | compiler <- toList allVersions - , isGHCHead compiler || maybeGHC False (`C.withinRange` cfgAllowFailures) compiler - ] - } - , travisBeforeCache = beforeCache - , travisBeforeInstall = beforeInstall - , travisInstall = install - , travisScript = script - } - where - Auxiliary {..} = auxiliary config prj jobs - - justIf True x = Just x - justIf False _ = Nothing - - -- TODO: should this be part of MonadSh ? - foldedSh label = foldedSh' label "" - - anyGHCJS = any isGHCJS allVersions - - -- https://github.com/travis-ci/docs-travis-ci-com/issues/949#issuecomment-276755003 - -- https://github.com/travis-ci/travis-rubies/blob/9f7962a881c55d32da7c76baefc58b89e3941d91/build.sh#L38-L44 - -- https://github.com/travis-ci/travis-build/blob/91bf066/lib/travis/build/shell/dsl.rb#L58-L63 - foldedSh' :: String -> String -> ShM () -> ShM () - foldedSh' plabel _sfx block = commentedBlock plabel block - - -- GHC versions which need head.hackage - headGhcVers :: Set CompilerVersion - headGhcVers = S.filter (usesHeadHackage cfgHeadHackage) allVersions - - cabal :: String -> String - cabal cmd = "${CABAL} " ++ cmd - - cabalTW :: String -> String - cabalTW cmd = "travis_wait 40 ${CABAL} " ++ cmd - - forJob :: CompilerRange -> String -> Maybe String - forJob vr cmd - | all (`compilerWithinRange` vr) allVersions = Just cmd - | not $ any (`compilerWithinRange` vr) allVersions = Nothing - | otherwise = Just $ unwords - [ "if" - , compilerVersionPredicate allVersions vr - , "; then" - , cmd - , "; fi" - ] - - shForJob :: CompilerRange -> String -> ShM () - shForJob vr cmd = maybe (pure ()) sh (forJob vr cmd) - - -- catForJob vr fp contents = shForJob vr (catCmd Double fp contents) - - generateCabalProject :: Bool -> ShM () - generateCabalProject dist = do - comment "Generate cabal.project" - sh "rm -rf cabal.project cabal.project.local cabal.project.freeze" - sh "touch cabal.project" - - sh $ unlines - [ cmd - | pkg <- pkgs - , let p | dist = pkgNameDirVariable (pkgName pkg) - | otherwise = pkgDir pkg - , cmd <- toList $ forJob (RangePoints $ pkgJobs pkg) $ - "echo \"packages: " ++ p ++ "\" >> cabal.project" - ] - - case cfgErrorMissingMethods of - PackageScopeNone -> pure () - PackageScopeLocal -> for_ pkgs $ \Pkg{pkgName,pkgJobs} -> do - shForJob (Range (C.orLaterVersion (C.mkVersion [8,2])) /\ RangePoints pkgJobs) $ - "echo 'package " ++ pkgName ++ "' >> cabal.project" - shForJob (Range (C.orLaterVersion (C.mkVersion [8,2])) /\ RangePoints pkgJobs) $ - "echo ' ghc-options: -Werror=missing-methods' >> cabal.project" - PackageScopeAll -> do - sh "echo 'package *' >> cabal.project" - sh "echo ' ghc-options: -Werror=missing-methods' >> cabal.project" - - cat "cabal.project" $ lines $ C.showFields' (const C.NoComment) (const id) 2 $ extraCabalProjectFields "" - - -- If using head.hackage, allow building with newer versions of GHC boot libraries. - -- Note that we put this in a cabal.project file, not ~/.cabal/config, in order to avoid - -- https://github.com/haskell/cabal/issues/7291. - unless (S.null headGhcVers) $ sh $ unlines $ - [ "if $HEADHACKAGE; then" - , "echo \"allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\\1,/g')\" >> $CABALHOME/config" - , "fi" - ] - - -- also write cabal.project.local file with - -- @ - -- constraints: base installed - -- constraints: array installed - -- ... - -- - -- omitting any local package names - case normaliseInstalled cfgInstalled of - InstalledDiff pns -> sh $ unwords - [ "for pkg in $($HCPKG list --simple-output); do" - , "echo $pkg" - , "| sed 's/-[^-]*$//'" - , "| (grep -vE -- " ++ re ++ " || true)" - , "| sed 's/^/constraints: /'" - , "| sed 's/$/ installed/'" - , ">> cabal.project.local; done" - ] - where - pns' = S.map C.unPackageName pns `S.union` foldMap (S.singleton . pkgName) pkgs - re = "'^(" ++ intercalate "|" (S.toList pns') ++ ")$'" - - InstalledOnly pns | not (null pns') -> sh' [2043] $ unwords - [ "for pkg in " ++ unwords (S.toList pns') ++ "; do" - , "echo \"constraints: $pkg installed\"" - , ">> cabal.project.local; done" - ] - where - pns' = S.map C.unPackageName pns `S.difference` foldMap (S.singleton . pkgName) pkgs - - -- otherwise: nothing - _ -> pure () - - sh "cat cabal.project || true" - sh "cat cabal.project.local || true" - - -- Needed to work around haskell/cabal#6214 - withHaddock :: String - withHaddock = "--with-haddock $HADDOCK" - - - -data Quotes = Single | Double - -escape :: Quotes -> String -> String -escape Single xs = "'" ++ concatMap f xs ++ "'" where - f '\0' = "" - f '\'' = "'\"'\"'" - f x = [x] -escape Double xs = show xs - -catCmd :: Quotes -> FilePath -> [String] -> String -catCmd q fp contents = unlines - [ "echo " ++ escape q l ++ replicate (maxLength - length l) ' ' ++ " >> " ++ fp - | l <- contents - ] - where - maxLength = foldl' (\a l -> max a (length l)) 0 contents -{- --- https://travis-ci.community/t/multiline-commands-have-two-spaces-in-front-breaks-heredocs/2756 -catCmd fp contents = unlines $ - [ "cat >> " ++ fp ++ " << HEREDOC" ] ++ - contents ++ - [ "HEREDOC" ] --} - -cat :: FilePath -> [String] -> ShM () -cat fp contents = sh $ catCmd Double fp contents diff --git a/src/HaskellCI/Travis/Yaml.hs b/src/HaskellCI/Travis/Yaml.hs deleted file mode 100644 index 30f1e063..00000000 --- a/src/HaskellCI/Travis/Yaml.hs +++ /dev/null @@ -1,238 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE StrictData #-} --- | @travis.yaml@ structure. -module HaskellCI.Travis.Yaml where - -import HaskellCI.Prelude - -import qualified Data.Aeson as Aeson -import qualified Data.List.NonEmpty as NE - -import HaskellCI.Config.Ubuntu -import HaskellCI.List -import HaskellCI.Sh -import HaskellCI.YamlSyntax - -------------------------------------------------------------------------------- --- Data -------------------------------------------------------------------------------- - -data Travis = Travis - { travisUbuntu :: !Ubuntu - , travisLanguage :: !String - , travisGit :: !TravisGit - , travisCache :: !TravisCache - , travisBranches :: !TravisBranches - , travisNotifications :: !TravisNotifications - , travisServices :: ![String] - , travisAddons :: !TravisAddons - , travisMatrix :: !TravisMatrix - , travisBeforeCache :: ![Sh] - , travisBeforeInstall :: ![Sh] - , travisInstall :: ![Sh] - , travisScript :: ![Sh] - } - deriving Show - -newtype TravisGit = TravisGit - { tgSubmodules :: Bool - } - deriving Show - -newtype TravisCache = TravisCache - { tcDirectories :: [FilePath] - } - deriving Show - -newtype TravisBranches = TravisBranches - { tbOnly :: [String] - } - deriving Show - -data TravisNotifications = TravisNotifications - { tnIRC :: Maybe TravisIRC - , tnEmail :: Bool - } - deriving Show - -data TravisIRC = TravisIRC - { tiChannels :: [String] - , tiSkipJoin :: Bool - , tiTemplate :: [String] - , tiNick :: Maybe String - , tiPassword :: Maybe String - } - deriving Show - -data TravisMatrix = TravisMatrix - { tmInclude :: [TravisJob] - , tmAllowFailures :: [TravisAllowFailure] - } - deriving Show - -data TravisJob = TravisJob - { tjCompiler :: String - , tjEnv :: Maybe String - , tjAddons :: TravisAddons - , tjOS :: String - } - deriving Show - -data TravisAddons = TravisAddons - { taApt :: TravisApt - , taPostgres :: Maybe String - , taGoogleChrome :: Bool - } - deriving Show - -data TravisApt = TravisApt - { taPackages :: [String] - , taSources :: [TravisAptSource] - } - deriving Show - -data TravisAptSource - = TravisAptSource String - | TravisAptSourceLine String (Maybe String) -- ^ sourceline with optional key - deriving Show - -newtype TravisAllowFailure = TravisAllowFailure - { tafCompiler :: String - } - deriving Show - -------------------------------------------------------------------------------- --- Serialisation helpers (move to Travis.Yaml?) -------------------------------------------------------------------------------- - -(^^^) :: ([String], String, Yaml [String]) -> String -> ([String], String, Yaml [String]) -(a,b,c) ^^^ d = (d : a, b, c) - -shListToYaml :: [Sh] -> Yaml [String] -shListToYaml shs = YList [] $ concat - [ YString cs x : map fromString xs - | (cs, x :| xs) <- gr shs - ] - where - gr :: [Sh] -> [([String], NonEmpty String)] - gr [] = [] - gr (Sh x : rest) = case gr rest of - ([], xs) : xss -> ([], NE.cons x xs) : xss - xss -> ([], pure x) : xss - - gr (Comment c : rest) = case gr rest of - (cs, xs) : xss -> (c : cs, xs) : xss - [] -> [] -- end of comments are lost - -------------------------------------------------------------------------------- --- ToYaml -------------------------------------------------------------------------------- - -instance ToYaml Travis where - toYaml Travis {..} = ykeyValuesFilt [] - -- version forces validation - -- https://blog.travis-ci.com/2019-10-24-build-config-validation - [ "version" ~> fromString "~> 1.0" - , "language" ~> fromString travisLanguage - , "os" ~> fromString "linux" - , "dist" ~> fromString (showUbuntu travisUbuntu) - , "git" ~> toYaml travisGit - , "branches" ~> toYaml travisBranches - , "notifications" ~> toYaml travisNotifications - , "services" ~> YList [] (map fromString travisServices) - , "addons" ~> toYaml travisAddons - , "cache" ~> toYaml travisCache - , "before_cache" ~> shListToYaml travisBeforeCache - , "jobs" ~> toYaml travisMatrix - , "before_install" ~> shListToYaml travisBeforeInstall - , "install" ~> shListToYaml travisInstall - , "script" ~> shListToYaml travisScript - ] - -instance ToYaml TravisGit where - toYaml TravisGit {..} = ykeyValuesFilt [] - [ "submodules" ~> toYaml tgSubmodules - ^^^ "whether to recursively clone submodules" - ] - -instance ToYaml TravisBranches where - toYaml TravisBranches {..} = ykeyValuesFilt [] - [ "only" ~> ylistFilt [] (map fromString tbOnly) - ] - -instance ToYaml TravisNotifications where - toYaml TravisNotifications {..} = ykeyValuesFilt [] $ buildList $ do - for_ tnIRC $ \y -> item $ "irc" ~> toYaml y - unless tnEmail $ item $ "email" ~> toYaml False - -instance ToYaml TravisIRC where - toYaml TravisIRC {..} = ykeyValuesFilt [] $ buildList $ do - item $ "channels" ~> YList [] (map fromString tiChannels) - item $ "skip_join" ~> toYaml tiSkipJoin - item $ "template" ~> YList [] (map fromString tiTemplate) - for_ tiNick $ \n -> - item $ "nick" ~> fromString n - for_ tiPassword $ \p -> - item $ "password" ~> fromString p - -instance ToYaml TravisCache where - toYaml TravisCache {..} = ykeyValuesFilt [] - [ "directories" ~> ylistFilt [] - [ fromString d - | d <- tcDirectories - ] - ] - -instance ToYaml TravisMatrix where - toYaml TravisMatrix {..} = ykeyValuesFilt [] - [ "include" ~> ylistFilt [] (map toYaml tmInclude) - , "allow_failures" ~> ylistFilt [] (map toYaml tmAllowFailures) - ] - -instance ToYaml TravisJob where - toYaml TravisJob {..} = ykeyValuesFilt [] $ buildList $ do - item $ "compiler" ~> fromString tjCompiler - item $ "addons" ~> toYaml (Aeson.toJSON tjAddons) - for_ tjEnv $ \e -> - item $ "env" ~> fromString e - item $ "os" ~> fromString tjOS - -instance ToYaml TravisAllowFailure where - toYaml TravisAllowFailure {..} = ykeyValuesFilt [] - [ "compiler" ~> fromString tafCompiler - ] - -instance ToYaml TravisAddons where - toYaml TravisAddons {..} = ykeyValuesFilt [] $ buildList $ do - -- no apt on purpose - for_ taPostgres $ \p -> - item $ "postgresql" ~> fromString p - when taGoogleChrome $ - item $ "google" ~> fromString "stable" - -------------------------------------------------------------------------------- --- ToJSON -------------------------------------------------------------------------------- - -instance Aeson.ToJSON TravisAddons where - -- no postgresql on purpose - toJSON TravisAddons {..} = Aeson.object - [ "apt" Aeson..= taApt - ] - -instance Aeson.ToJSON TravisApt where - toJSON TravisApt {..} = Aeson.object - [ "packages" Aeson..= taPackages - , "sources" Aeson..= taSources - ] - -instance Aeson.ToJSON TravisAptSource where - toJSON (TravisAptSource s) = Aeson.toJSON s - toJSON (TravisAptSourceLine sl Nothing) = Aeson.object - [ "sourceline" Aeson..= sl - ] - toJSON (TravisAptSourceLine sl (Just key_url)) = Aeson.object - [ "sourceline" Aeson..= sl - , "key_url" Aeson..= key_url - ] diff --git a/test/Tests.hs b/test/Tests.hs index 043c87d6..6017158d 100644 --- a/test/Tests.hs +++ b/test/Tests.hs @@ -81,8 +81,7 @@ pairs (x:xs) = map ((,) x) xs ++ pairs xs -- @ fixtureGoldenTest :: FilePath -> TestTree fixtureGoldenTest fp = testGroup fp - [ fixtureGoldenTest' "travis" travisFromConfigFile - , fixtureGoldenTest' "github" githubFromConfigFile + [ fixtureGoldenTest' "github" githubFromConfigFile , fixtureGoldenTest' "bash" bashFromConfigFile ] where