diff --git a/.hlint.yaml b/.hlint.yaml index 7ddf4c14..90b71ebe 100644 --- a/.hlint.yaml +++ b/.hlint.yaml @@ -15,3 +15,4 @@ - ignore: {name: "Use <$>"} - ignore: {name: Reduce duplication} - ignore: {within: HaskellCI.Bash.Template} +- ignore: {name: Use camelCase} diff --git a/fixtures/all-versions.sourcehut b/fixtures/all-versions.sourcehut new file mode 100644 index 00000000..90dc202b --- /dev/null +++ b/fixtures/all-versions.sourcehut @@ -0,0 +1,1018 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.4.1 ghcjs-8.4 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci 'sourcehut' 'all-versions.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["sourcehut","all-versions.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.0.1 + - ghc-7.0.2 + - ghc-7.0.3 + - ghc-7.0.4 + - ghc-7.2.1 + - ghc-7.2.2 + - ghc-7.4.1 + - ghc-7.4.2 + - ghc-7.6.1 + - ghc-7.6.2 + - ghc-7.6.3 + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 + - ghc-9.0.1 + - ghcjs-8.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.0.2" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.2.1" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.2.2" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.2.3" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.4.1" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_0_1-prepare: | + cd example.org + cabal configure -w ghc-7.0.1 + - 7_0_1-check: | + cd example.org + cabal check + - 7_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_0_1-build: | + cd example.org + cabal build all + - 7_0_1-test: | + cd example.org + cabal test all --enable-tests + - 7_0_1-haddock: | + cd example.org + cabal haddock all + - 7_0_2-prepare: | + cd example.org + cabal configure -w ghc-7.0.2 + - 7_0_2-check: | + cd example.org + cabal check + - 7_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_0_2-build: | + cd example.org + cabal build all + - 7_0_2-test: | + cd example.org + cabal test all --enable-tests + - 7_0_2-haddock: | + cd example.org + cabal haddock all + - 7_0_3-prepare: | + cd example.org + cabal configure -w ghc-7.0.3 + - 7_0_3-check: | + cd example.org + cabal check + - 7_0_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_0_3-build: | + cd example.org + cabal build all + - 7_0_3-test: | + cd example.org + cabal test all --enable-tests + - 7_0_3-haddock: | + cd example.org + cabal haddock all + - 7_0_4-prepare: | + cd example.org + cabal configure -w ghc-7.0.4 + - 7_0_4-check: | + cd example.org + cabal check + - 7_0_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_0_4-build: | + cd example.org + cabal build all + - 7_0_4-test: | + cd example.org + cabal test all --enable-tests + - 7_0_4-haddock: | + cd example.org + cabal haddock all + - 7_2_1-prepare: | + cd example.org + cabal configure -w ghc-7.2.1 + - 7_2_1-check: | + cd example.org + cabal check + - 7_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_2_1-build: | + cd example.org + cabal build all + - 7_2_1-test: | + cd example.org + cabal test all --enable-tests + - 7_2_1-haddock: | + cd example.org + cabal haddock all + - 7_2_2-prepare: | + cd example.org + cabal configure -w ghc-7.2.2 + - 7_2_2-check: | + cd example.org + cabal check + - 7_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_2_2-build: | + cd example.org + cabal build all + - 7_2_2-test: | + cd example.org + cabal test all --enable-tests + - 7_2_2-haddock: | + cd example.org + cabal haddock all + - 7_4_1-prepare: | + cd example.org + cabal configure -w ghc-7.4.1 + - 7_4_1-check: | + cd example.org + cabal check + - 7_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_4_1-build: | + cd example.org + cabal build all + - 7_4_1-test: | + cd example.org + cabal test all --enable-tests + - 7_4_1-haddock: | + cd example.org + cabal haddock all + - 7_4_2-prepare: | + cd example.org + cabal configure -w ghc-7.4.2 + - 7_4_2-check: | + cd example.org + cabal check + - 7_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_4_2-build: | + cd example.org + cabal build all + - 7_4_2-test: | + cd example.org + cabal test all --enable-tests + - 7_4_2-haddock: | + cd example.org + cabal haddock all + - 7_6_1-prepare: | + cd example.org + cabal configure -w ghc-7.6.1 + - 7_6_1-check: | + cd example.org + cabal check + - 7_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_6_1-build: | + cd example.org + cabal build all + - 7_6_1-test: | + cd example.org + cabal test all --enable-tests + - 7_6_1-haddock: | + cd example.org + cabal haddock all + - 7_6_2-prepare: | + cd example.org + cabal configure -w ghc-7.6.2 + - 7_6_2-check: | + cd example.org + cabal check + - 7_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_6_2-build: | + cd example.org + cabal build all + - 7_6_2-test: | + cd example.org + cabal test all --enable-tests + - 7_6_2-haddock: | + cd example.org + cabal haddock all + - 7_6_3-prepare: | + cd example.org + cabal configure -w ghc-7.6.3 + - 7_6_3-check: | + cd example.org + cabal check + - 7_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_6_3-build: | + cd example.org + cabal build all + - 7_6_3-test: | + cd example.org + cabal test all --enable-tests + - 7_6_3-haddock: | + cd example.org + cabal haddock all + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all + - 9_0_1-prepare: | + cd example.org + cabal configure -w ghc-9.0.1 + - 9_0_1-check: | + cd example.org + cabal check + - 9_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_0_1-build: | + cd example.org + cabal build all + - 9_0_1-test: | + cd example.org + cabal test all --enable-tests + - 9_0_1-haddock: | + cd example.org + cabal haddock all + - 9_0_2-prepare: | + cd example.org + cabal configure -w ghc-9.0.2 + - 9_0_2-check: | + cd example.org + cabal check + - 9_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_0_2-build: | + cd example.org + cabal build all + - 9_0_2-test: | + cd example.org + cabal test all --enable-tests + - 9_0_2-haddock: | + cd example.org + cabal haddock all + - 9_2_1-prepare: | + cd example.org + cabal configure -w ghc-9.2.1 + - 9_2_1-check: | + cd example.org + cabal check + - 9_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_2_1-build: | + cd example.org + cabal build all + - 9_2_1-test: | + cd example.org + cabal test all --enable-tests + - 9_2_1-haddock: | + cd example.org + cabal haddock all + - 9_2_2-prepare: | + cd example.org + cabal configure -w ghc-9.2.2 + - 9_2_2-check: | + cd example.org + cabal check + - 9_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_2_2-build: | + cd example.org + cabal build all + - 9_2_2-test: | + cd example.org + cabal test all --enable-tests + - 9_2_2-haddock: | + cd example.org + cabal haddock all + - 9_2_3-prepare: | + cd example.org + cabal configure -w ghc-9.2.3 + - 9_2_3-check: | + cd example.org + cabal check + - 9_2_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_2_3-build: | + cd example.org + cabal build all + - 9_2_3-test: | + cd example.org + cabal test all --enable-tests + - 9_2_3-haddock: | + cd example.org + cabal haddock all + - 9_4_1-prepare: | + cd example.org + cabal configure -w ghc-9.4.1 + - 9_4_1-check: | + cd example.org + cabal check + - 9_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_4_1-build: | + cd example.org + cabal build all + - 9_4_1-test: | + cd example.org + cabal test all --enable-tests + - 9_4_1-haddock: | + cd example.org + cabal haddock all + - ghcjs-8_4-prepare: | + cd example.org + cabal configure -w ghcjs-8.4 + - ghcjs-8_4-check: | + cd example.org + cabal check + - ghcjs-8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - ghcjs-8_4-build: | + cd example.org + cabal build all + - ghcjs-8_4-test: | + cd example.org + cabal test all --enable-tests + - ghcjs-8_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: Oleg Grenrus diff --git a/fixtures/copy-fields-all.sourcehut b/fixtures/copy-fields-all.sourcehut new file mode 100644 index 00000000..1ccea425 --- /dev/null +++ b/fixtures/copy-fields-all.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--copy-fields=all' 'sourcehut' 'copy-fields-all.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--copy-fields=all","sourcehut","copy-fields-all.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/copy-fields-none.sourcehut b/fixtures/copy-fields-none.sourcehut new file mode 100644 index 00000000..e68f043d --- /dev/null +++ b/fixtures/copy-fields-none.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--copy-fields=none' 'sourcehut' 'copy-fields-none.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--copy-fields=none","sourcehut","copy-fields-none.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/copy-fields-some.sourcehut b/fixtures/copy-fields-some.sourcehut new file mode 100644 index 00000000..454b2526 --- /dev/null +++ b/fixtures/copy-fields-some.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--copy-fields=some' 'sourcehut' 'copy-fields-some.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--copy-fields=some","sourcehut","copy-fields-some.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/empty-line.sourcehut b/fixtures/empty-line.sourcehut new file mode 100644 index 00000000..aa3c60d6 --- /dev/null +++ b/fixtures/empty-line.sourcehut @@ -0,0 +1,678 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: ghc-head 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--ghc-head' 'sourcehut' 'empty-line.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--ghc-head","sourcehut","empty-line.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-head" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - ghc-head-prepare: | + cd example.org + cabal configure -w ghc-head + - ghc-head-check: | + cd example.org + cabal check + - ghc-head-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - ghc-head-build: | + cd example.org + cabal build all + - ghc-head-test: | + cd example.org + cabal test all --enable-tests + - ghc-head-haddock: | + cd example.org + cabal haddock all + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/enabled-jobs.sourcehut b/fixtures/enabled-jobs.sourcehut new file mode 100644 index 00000000..e208a267 --- /dev/null +++ b/fixtures/enabled-jobs.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut 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.4.1 ghcjs-8.4 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--enabled-jobs=>=8' 'sourcehut' 'enabled-jobs.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--enabled-jobs=>=8","sourcehut","enabled-jobs.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 + - ghc-9.0.1 + - ghcjs-8.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.0.2" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.2.1" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.2.2" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.2.3" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-9.4.1" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all + - 9_0_1-prepare: | + cd example.org + cabal configure -w ghc-9.0.1 + - 9_0_1-check: | + cd example.org + cabal check + - 9_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_0_1-build: | + cd example.org + cabal build all + - 9_0_1-test: | + cd example.org + cabal test all --enable-tests + - 9_0_1-haddock: | + cd example.org + cabal haddock all + - 9_0_2-prepare: | + cd example.org + cabal configure -w ghc-9.0.2 + - 9_0_2-check: | + cd example.org + cabal check + - 9_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_0_2-build: | + cd example.org + cabal build all + - 9_0_2-test: | + cd example.org + cabal test all --enable-tests + - 9_0_2-haddock: | + cd example.org + cabal haddock all + - 9_2_1-prepare: | + cd example.org + cabal configure -w ghc-9.2.1 + - 9_2_1-check: | + cd example.org + cabal check + - 9_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_2_1-build: | + cd example.org + cabal build all + - 9_2_1-test: | + cd example.org + cabal test all --enable-tests + - 9_2_1-haddock: | + cd example.org + cabal haddock all + - 9_2_2-prepare: | + cd example.org + cabal configure -w ghc-9.2.2 + - 9_2_2-check: | + cd example.org + cabal check + - 9_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_2_2-build: | + cd example.org + cabal build all + - 9_2_2-test: | + cd example.org + cabal test all --enable-tests + - 9_2_2-haddock: | + cd example.org + cabal haddock all + - 9_2_3-prepare: | + cd example.org + cabal configure -w ghc-9.2.3 + - 9_2_3-check: | + cd example.org + cabal check + - 9_2_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_2_3-build: | + cd example.org + cabal build all + - 9_2_3-test: | + cd example.org + cabal test all --enable-tests + - 9_2_3-haddock: | + cd example.org + cabal haddock all + - 9_4_1-prepare: | + cd example.org + cabal configure -w ghc-9.4.1 + - 9_4_1-check: | + cd example.org + cabal check + - 9_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 9_4_1-build: | + cd example.org + cabal build all + - 9_4_1-test: | + cd example.org + cabal test all --enable-tests + - 9_4_1-haddock: | + cd example.org + cabal haddock all + - ghcjs-8_4-prepare: | + cd example.org + cabal configure -w ghcjs-8.4 + - ghcjs-8_4-check: | + cd example.org + cabal check + - ghcjs-8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - ghcjs-8_4-build: | + cd example.org + cabal build all + - ghcjs-8_4-test: | + cd example.org + cabal test all --enable-tests + - ghcjs-8_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: Oleg Grenrus diff --git a/fixtures/fail-versions.sourcehut b/fixtures/fail-versions.sourcehut new file mode 100644 index 00000000..0e629b61 --- /dev/null +++ b/fixtures/fail-versions.sourcehut @@ -0,0 +1,3 @@ +# FAILURE +# *ERROR* servant-client-core is missing tested-with annotations for: ghc-7.8.1,ghc-7.8.2,ghc-7.8.3,ghc-7.8.4 +# *ERROR* servant-foreign is missing tested-with annotations for: ghc-7.8.1,ghc-7.8.2,ghc-7.8.3,ghc-7.8.4 diff --git a/fixtures/irc-channels.sourcehut b/fixtures/irc-channels.sourcehut new file mode 100644 index 00000000..55895879 --- /dev/null +++ b/fixtures/irc-channels.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--irc-channels=irc.libera.chat#mychannel' 'sourcehut' 'irc-channels.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--irc-channels=irc.libera.chat#mychannel","sourcehut","irc-channels.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/messy.sourcehut b/fixtures/messy.sourcehut new file mode 100644 index 00000000..bb6fd695 --- /dev/null +++ b/fixtures/messy.sourcehut @@ -0,0 +1,679 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: ghc-head 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--ghc-head' '--apt=fftw3-dev' '--installed=-all +deepseq' 'sourcehut' 'messy.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--ghc-head","--apt=fftw3-dev","--installed=-all +deepseq","sourcehut","messy.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - fftw3-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-head" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - ghc-head-prepare: | + cd example.org + cabal configure -w ghc-head + - ghc-head-check: | + cd example.org + cabal check + - ghc-head-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - ghc-head-build: | + cd example.org + cabal build all + - ghc-head-test: | + cd example.org + cabal test all --enable-tests + - ghc-head-haddock: | + cd example.org + cabal haddock all + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/psql.sourcehut b/fixtures/psql.sourcehut new file mode 100644 index 00000000..57ab7924 --- /dev/null +++ b/fixtures/psql.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--postgresql' 'sourcehut' 'psql.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--postgresql","sourcehut","psql.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/sourcehut-parallel.args b/fixtures/sourcehut-parallel.args new file mode 100644 index 00000000..7fae0611 --- /dev/null +++ b/fixtures/sourcehut-parallel.args @@ -0,0 +1 @@ +--sourcehut-parallel diff --git a/fixtures/sourcehut-parallel.bash b/fixtures/sourcehut-parallel.bash new file mode 100644 index 00000000..00e669e3 --- /dev/null +++ b/fixtures/sourcehut-parallel.bash @@ -0,0 +1,520 @@ +# SUCCESS +# *INFO* Generating Bash script for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +#!/bin/bash +# shellcheck disable=SC2086,SC2016,SC2046 +# REGENDATA ["--sourcehut-parallel","bash","sourcehut-parallel.project"] + +set -o pipefail + +# Mode +############################################################################## + +if [ "$1" = "indocker" ]; then + INDOCKER=true + shift +else + INDOCKER=false +fi + +# Run configuration +############################################################################## + +CFG_CABAL_STORE_CACHE="" +CFG_CABAL_REPO_CACHE="" +CFG_JOBS="8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1 7.10.3 7.10.2 7.10.1 7.8.4 7.8.3 7.8.2 7.8.1" +CFG_CABAL_UPDATE=false + +SCRIPT_NAME=$(basename "$0") +START_TIME="$(date +'%s')" + +XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config} + +# Job configuration +############################################################################## + +GHC_VERSION="non-existing" +CABAL_VERSION=3.2 +HEADHACKAGE=false + +# Locale +############################################################################## + +export LC_ALL=C.UTF-8 + +# Utilities +############################################################################## + +SGR_RED='\033[1;31m' +SGR_GREEN='\033[1;32m' +SGR_BLUE='\033[1;34m' +SGR_CYAN='\033[1;96m' +SGR_RESET='\033[0m' # No Color + +put_info() { + printf "$SGR_CYAN%s$SGR_RESET\n" "### $*" +} + +put_error() { + printf "$SGR_RED%s$SGR_RESET\n" "!!! $*" +} + +run_cmd() { + local PRETTYCMD="$*" + local PROMPT + if $INDOCKER; then + PROMPT="$(pwd) >>>" + else + PROMPT=">>>" + fi + + printf "$SGR_BLUE%s %s$SGR_RESET\n" "$PROMPT" "$PRETTYCMD" + + local start_time end_time cmd_duration total_duration + start_time=$(date +'%s') + + "$@" + local RET=$? + + end_time=$(date +'%s') + cmd_duration=$((end_time - start_time)) + total_duration=$((end_time - START_TIME)) + + cmd_min=$((cmd_duration / 60)) + cmd_sec=$((cmd_duration % 60)) + + total_min=$((total_duration / 60)) + total_sec=$((total_duration % 60)) + + if [ $RET -eq 0 ]; then + printf "$SGR_GREEN%s$SGR_RESET (%dm%02ds; %dm%02ds)\n" "<<< $PRETTYCMD" "$cmd_min" "$cmd_sec" "$total_min" "$total_sec" + else + printf "$SGR_RED%s$SGR_RESET\n" "!!! $PRETTYCMD" + exit 1 + fi +} + +run_cmd_if() { + local COND=$1 + shift + + if [ $COND -eq 1 ]; then + run_cmd "$@" + else + local PRETTYCMD="$*" + local PROMPT + PROMPT="$(pwd) (skipping) >>>" + + printf "$SGR_BLUE%s %s$SGR_RESET\n" "$PROMPT" "$PRETTYCMD" + fi +} + +run_cmd_unchecked() { + local PRETTYCMD="$*" + local PROMPT + if $INDOCKER; then + PROMPT="$(pwd) >>>" + else + PROMPT=">>>" + fi + + printf "$SGR_BLUE%s %s$SGR_RESET\n" "$PROMPT" "$PRETTYCMD" + + local start_time end_time cmd_duration total_duration cmd_min cmd_sec total_min total_sec + start_time=$(date +'%s') + + "$@" + + end_time=$(date +'%s') + cmd_duration=$((end_time - start_time)) + total_duration=$((end_time - START_TIME)) + + cmd_min=$((cmd_duration / 60)) + cmd_sec=$((cmd_duration % 60)) + + total_min=$((total_duration / 60)) + total_sec=$((total_duration % 60)) + + printf "$SGR_GREEN%s$SGR_RESET (%dm%02ds; %dm%02ds)\n" "<<< $PRETTYCMD" "$cmd_min" "$cmd_sec" "$total_min" "$total_sec" +} + +change_dir() { + local DIR=$1 + if [ -d "$DIR" ]; then + printf "$SGR_BLUE%s$SGR_RESET\n" "change directory to $DIR" + cd "$DIR" || exit 1 + else + printf "$SGR_RED%s$SGR_RESET\n" "!!! cd $DIR" + exit 1 + fi +} + +change_dir_if() { + local COND=$1 + local DIR=$2 + + if [ $COND -ne 0 ]; then + change_dir "$DIR" + fi +} + +echo_to() { + local DEST=$1 + local CONTENTS=$2 + + echo "$CONTENTS" >> "$DEST" +} + +echo_if_to() { + local COND=$1 + local DEST=$2 + local CONTENTS=$3 + + if [ $COND -ne 0 ]; then + echo_to "$DEST" "$CONTENTS" + fi +} + +install_cabalplan() { + put_info "installing cabal-plan" + + if [ ! -e $CABAL_REPOCACHE/downloads/cabal-plan ]; then + curl -L https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > /tmp/cabal-plan.xz || exit 1 + (cd /tmp && echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz" | sha256sum -c -)|| exit 1 + mkdir -p $CABAL_REPOCACHE/downloads + xz -d < /tmp/cabal-plan.xz > $CABAL_REPOCACHE/downloads/cabal-plan || exit 1 + chmod a+x $CABAL_REPOCACHE/downloads/cabal-plan || exit 1 + fi + + mkdir -p $CABAL_DIR/bin || exit 1 + ln -s $CABAL_REPOCACHE/downloads/cabal-plan $CABAL_DIR/bin/cabal-plan || exit 1 +} + +# Help +############################################################################## + +show_usage() { +cat < $BUILDDIR/cabal/config <= 80200)) cabal.project "package servant" +echo_if_to $((HCNUMVER >= 80200)) cabal.project " ghc-options: -Werror=missing-methods" +cat >> cabal.project <> cabal.project.local +run_cmd cat cabal.project +run_cmd cat cabal.project.local + +# dump install plan +put_info "dump install plan" +run_cmd $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all +run_cmd cabal-plan + +# install dependencies +put_info "install dependencies" +run_cmd $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --dependencies-only -j all +run_cmd $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dependencies-only -j all + +# build w/o tests +put_info "build w/o tests" +run_cmd $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all + +# build +put_info "build" +run_cmd $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all + +# tests +put_info "tests" +run_cmd $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct + +# cabal check +put_info "cabal check" +change_dir "${PKGDIR_servant}" +run_cmd ${CABAL} -vnormal check +change_dir "$BUILDDIR" + +# haddock +put_info "haddock" +run_cmd $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all + +# unconstrained build +put_info "unconstrained build" +run_cmd rm -f cabal.project.local +run_cmd $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all + + +# Done +run_cmd echo OK diff --git a/fixtures/sourcehut-parallel.github b/fixtures/sourcehut-parallel.github new file mode 100644 index 00000000..52cfc786 --- /dev/null +++ b/fixtures/sourcehut-parallel.github @@ -0,0 +1,352 @@ +# SUCCESS +# *INFO* Generating GitHub config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 GitHub workflow config has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'github' 'sourcehut-parallel.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 +# +# REGENDATA ["--sourcehut-parallel","github","sourcehut-parallel.project"] +# +name: Haskell-CI +on: + - push + - pull_request +jobs: + linux: + name: Haskell-CI - Linux - ${{ matrix.compiler }} + runs-on: ubuntu-20.04 + timeout-minutes: + 60 + container: + image: buildpack-deps:bionic + continue-on-error: ${{ matrix.allow-failure }} + strategy: + matrix: + include: + - compiler: ghc-8.10.7 + compilerKind: ghc + compilerVersion: 8.10.7 + setup-method: ghcup + allow-failure: false + - compiler: ghc-8.10.6 + compilerKind: ghc + compilerVersion: 8.10.6 + setup-method: ghcup + allow-failure: false + - compiler: ghc-8.10.5 + compilerKind: ghc + compilerVersion: 8.10.5 + setup-method: ghcup + allow-failure: false + - compiler: ghc-8.10.4 + compilerKind: ghc + compilerVersion: 8.10.4 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.10.3 + compilerKind: ghc + compilerVersion: 8.10.3 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.10.2 + compilerKind: ghc + compilerVersion: 8.10.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.10.1 + compilerKind: ghc + compilerVersion: 8.10.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.8.4 + compilerKind: ghc + compilerVersion: 8.8.4 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.8.3 + compilerKind: ghc + compilerVersion: 8.8.3 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.8.2 + compilerKind: ghc + compilerVersion: 8.8.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.8.1 + compilerKind: ghc + compilerVersion: 8.8.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.6.5 + compilerKind: ghc + compilerVersion: 8.6.5 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.6.4 + compilerKind: ghc + compilerVersion: 8.6.4 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.6.3 + compilerKind: ghc + compilerVersion: 8.6.3 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.6.2 + compilerKind: ghc + compilerVersion: 8.6.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.6.1 + compilerKind: ghc + compilerVersion: 8.6.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.4.4 + compilerKind: ghc + compilerVersion: 8.4.4 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.4.3 + compilerKind: ghc + compilerVersion: 8.4.3 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.4.2 + compilerKind: ghc + compilerVersion: 8.4.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.4.1 + compilerKind: ghc + compilerVersion: 8.4.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.2.2 + compilerKind: ghc + compilerVersion: 8.2.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.2.1 + compilerKind: ghc + compilerVersion: 8.2.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.0.2 + compilerKind: ghc + compilerVersion: 8.0.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-8.0.1 + compilerKind: ghc + compilerVersion: 8.0.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.10.3 + compilerKind: ghc + compilerVersion: 7.10.3 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.10.2 + compilerKind: ghc + compilerVersion: 7.10.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.10.1 + compilerKind: ghc + compilerVersion: 7.10.1 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.8.4 + compilerKind: ghc + compilerVersion: 7.8.4 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.8.3 + compilerKind: ghc + compilerVersion: 7.8.3 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.8.2 + compilerKind: ghc + compilerVersion: 7.8.2 + setup-method: hvr-ppa + allow-failure: false + - compiler: ghc-7.8.1 + compilerKind: ghc + compilerVersion: 7.8.1 + setup-method: hvr-ppa + allow-failure: false + fail-fast: false + steps: + - name: apt + run: | + apt-get update + apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 + if [ "${{ matrix.setup-method }}" = ghcup ]; then + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" + "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 + else + apt-add-repository -y 'ppa:hvr/ghc' + apt-get update + apt-get install -y "$HCNAME" + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 + fi + env: + HCKIND: ${{ matrix.compilerKind }} + HCNAME: ${{ matrix.compiler }} + HCVER: ${{ matrix.compilerVersion }} + - name: Set PATH and environment variables + run: | + echo "$HOME/.cabal/bin" >> $GITHUB_PATH + echo "LANG=C.UTF-8" >> "$GITHUB_ENV" + echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV" + echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV" + HCDIR=/opt/$HCKIND/$HCVER + if [ "${{ matrix.setup-method }}" = ghcup ]; then + HC=$HOME/.ghcup/bin/$HCKIND-$HCVER + echo "HC=$HC" >> "$GITHUB_ENV" + echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV" + echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV" + echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" + else + HC=$HCDIR/bin/$HCKIND + echo "HC=$HC" >> "$GITHUB_ENV" + echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV" + echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV" + echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" + fi + + HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') + echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" + echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" + echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" + echo "HEADHACKAGE=false" >> "$GITHUB_ENV" + echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV" + echo "GHCJSARITH=0" >> "$GITHUB_ENV" + env: + HCKIND: ${{ matrix.compilerKind }} + HCNAME: ${{ matrix.compiler }} + HCVER: ${{ matrix.compilerVersion }} + - name: env + run: | + env + - name: write cabal config + run: | + mkdir -p $CABAL_DIR + cat >> $CABAL_CONFIG <> $CABAL_CONFIG < cabal-plan.xz + echo 'de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz' | sha256sum -c - + xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan + rm -f cabal-plan.xz + chmod a+x $HOME/.cabal/bin/cabal-plan + cabal-plan --version + - name: checkout + uses: actions/checkout@v2 + with: + path: source + - name: initial cabal.project for sdist + run: | + touch cabal.project + echo "packages: $GITHUB_WORKSPACE/source/servant" >> cabal.project + cat cabal.project + - name: sdist + run: | + mkdir -p sdist + $CABAL sdist all --output-dir $GITHUB_WORKSPACE/sdist + - name: unpack + run: | + mkdir -p unpacked + find sdist -maxdepth 1 -type f -name '*.tar.gz' -exec tar -C $GITHUB_WORKSPACE/unpacked -xzvf {} \; + - name: generate cabal.project + run: | + PKGDIR_servant="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-[0-9.]*')" + echo "PKGDIR_servant=${PKGDIR_servant}" >> "$GITHUB_ENV" + rm -f cabal.project cabal.project.local + touch cabal.project + touch cabal.project.local + 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 + cat >> cabal.project <> cabal.project.local + cat cabal.project + cat cabal.project.local + - name: dump install plan + run: | + $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all + cabal-plan + - name: cache + uses: actions/cache@v2 + with: + key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} + path: ~/.cabal/store + restore-keys: ${{ runner.os }}-${{ matrix.compiler }}- + - name: install dependencies + run: | + $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --dependencies-only -j2 all + $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dependencies-only -j2 all + - name: build w/o tests + run: | + $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all + - name: build + run: | + $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always + - name: tests + run: | + $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct + - name: cabal check + run: | + cd ${PKGDIR_servant} || false + ${CABAL} -vnormal check + - name: haddock + run: | + $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all + - name: unconstrained build + run: | + rm -f cabal.project.local + $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all diff --git a/fixtures/sourcehut-parallel.project b/fixtures/sourcehut-parallel.project new file mode 100644 index 00000000..9fc81673 --- /dev/null +++ b/fixtures/sourcehut-parallel.project @@ -0,0 +1 @@ +packages: servant diff --git a/fixtures/sourcehut-parallel.sourcehut b/fixtures/sourcehut-parallel.sourcehut new file mode 100644 index 00000000..56e5faac --- /dev/null +++ b/fixtures/sourcehut-parallel.sourcehut @@ -0,0 +1,1726 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: 7.10.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.10.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 7.10.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.10.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 7.10.3 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.10.3 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 7.8.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 7.8.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 7.8.3 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.3 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 7.8.4 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.0.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.0.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.0.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.0.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.10.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.10.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.3 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.10.3 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.4 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.5 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + cabal update + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.6 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + cabal update + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.10.7 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + cabal update + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.2.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.2.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.2.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.2.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.4.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.4.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.4.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.4.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.4.3 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.4.3 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.4.4 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.4.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.6.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.6.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.6.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.6.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.6.3 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.6.3 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.6.4 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.6.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.6.5 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.6.5 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.8.1 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.8.1 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.8.2 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.8.2 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.8.3 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.8.3 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com +# manifest name: 8.8.4 +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--sourcehut-parallel' 'sourcehut' 'sourcehut-parallel.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--sourcehut-parallel","sourcehut","sourcehut-parallel.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-8.8.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/fixtures/sourcehut-parallel.travis b/fixtures/sourcehut-parallel.travis new file mode 100644 index 00000000..61f08c45 --- /dev/null +++ b/fixtures/sourcehut-parallel.travis @@ -0,0 +1,227 @@ +# SUCCESS +# *INFO* Generating Travis-CI config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 '--sourcehut-parallel' 'travis' 'sourcehut-parallel.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: bionic +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.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.10.6 + addons: {"apt":{"packages":["ghc-8.10.6","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.10.5 + addons: {"apt":{"packages":["ghc-8.10.5","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.10.4 + addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.10.3 + addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.10.2 + addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.10.1 + addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.8.4 + addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.8.3 + addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.8.2 + addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.8.1 + addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.6.5 + addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.6.4 + addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.6.3 + addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.6.2 + addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.6.1 + addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.4.4 + addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.4.3 + addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.4.2 + addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.4.1 + addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.2.2 + addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.2.1 + addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.0.2 + addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-8.0.1 + addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.10.3 + addons: {"apt":{"packages":["ghc-7.10.3","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.10.2 + addons: {"apt":{"packages":["ghc-7.10.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.10.1 + addons: {"apt":{"packages":["ghc-7.10.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.8.4 + addons: {"apt":{"packages":["ghc-7.8.4","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.8.3 + addons: {"apt":{"packages":["ghc-7.8.3","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.8.2 + addons: {"apt":{"packages":["ghc-7.8.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} + os: linux + - compiler: ghc-7.8.1 + addons: {"apt":{"packages":["ghc-7.8.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic 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 ["--sourcehut-parallel","travis","sourcehut-parallel.project"] +# EOF diff --git a/fixtures/travis-patch.sourcehut b/fixtures/travis-patch.sourcehut new file mode 100644 index 00000000..3aef2005 --- /dev/null +++ b/fixtures/travis-patch.sourcehut @@ -0,0 +1,658 @@ +# SUCCESS +# *INFO* Generating Sourcehut config for testing for GHC versions: 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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 +# manifest name: all +# This Sourcehut job script has been generated by a script via +# +# haskell-ci '--travis-patches=travis-patch.patch' 'sourcehut' 'travis-patch.project' '--sourcehut-source' 'https://example.org' +# +# 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 +# +# REGENDATA ["--travis-patches=travis-patch.patch","sourcehut","travis-patch.project","--sourcehut-source","https://example.org"] +# +image: ubuntu/bionic +packages: + - gcc + - libgmp-dev + - ghc-7.8.1 + - ghc-7.8.2 + - ghc-7.8.3 + - ghc-7.8.4 + - ghc-7.10.1 + - ghc-7.10.2 + - ghc-7.10.3 + - ghc-8.0.1 + - ghc-8.0.2 + - ghc-8.2.1 + - ghc-8.2.2 + - ghc-8.4.1 + - ghc-8.4.2 + - ghc-8.4.3 + - ghc-8.4.4 + - ghc-8.6.1 + - ghc-8.6.2 + - ghc-8.6.3 + - ghc-8.6.4 + - ghc-8.6.5 + - ghc-8.8.1 + - ghc-8.8.2 + - ghc-8.8.3 + - ghc-8.8.4 + - ghc-8.10.1 + - ghc-8.10.2 + - ghc-8.10.3 + - ghc-8.10.4 +repositories: + hvr-ghc: http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main ff3aeacef6f88286 +sources: + - https://example.org +tasks: + - all-prepare: | + mkdir -p "$HOME/.ghcup/bin" + curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup" + chmod a+x "$HOME/.ghcup/bin/ghcup" + export PATH=$PATH:$HOME/.ghcup/bin + echo "export PATH=$PATH:$HOME/.ghcup/bin" >> ~/.buildenv + "$HOME/.ghcup/bin/ghcup" install cabal 3.6 + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.5" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.6" + "$HOME/.ghcup/bin/ghcup" install ghc "ghc-8.10.7" + export PATH=$PATH:/opt/ghc/bin + echo "export PATH=$PATH:/opt/ghc/bin" >> ~/.buildenv + cabal update + - 7_8_1-prepare: | + cd example.org + cabal configure -w ghc-7.8.1 + - 7_8_1-check: | + cd example.org + cabal check + - 7_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_1-build: | + cd example.org + cabal build all + - 7_8_1-test: | + cd example.org + cabal test all --enable-tests + - 7_8_1-haddock: | + cd example.org + cabal haddock all + - 7_8_2-prepare: | + cd example.org + cabal configure -w ghc-7.8.2 + - 7_8_2-check: | + cd example.org + cabal check + - 7_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_2-build: | + cd example.org + cabal build all + - 7_8_2-test: | + cd example.org + cabal test all --enable-tests + - 7_8_2-haddock: | + cd example.org + cabal haddock all + - 7_8_3-prepare: | + cd example.org + cabal configure -w ghc-7.8.3 + - 7_8_3-check: | + cd example.org + cabal check + - 7_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_3-build: | + cd example.org + cabal build all + - 7_8_3-test: | + cd example.org + cabal test all --enable-tests + - 7_8_3-haddock: | + cd example.org + cabal haddock all + - 7_8_4-prepare: | + cd example.org + cabal configure -w ghc-7.8.4 + - 7_8_4-check: | + cd example.org + cabal check + - 7_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_8_4-build: | + cd example.org + cabal build all + - 7_8_4-test: | + cd example.org + cabal test all --enable-tests + - 7_8_4-haddock: | + cd example.org + cabal haddock all + - 7_10_1-prepare: | + cd example.org + cabal configure -w ghc-7.10.1 + - 7_10_1-check: | + cd example.org + cabal check + - 7_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_1-build: | + cd example.org + cabal build all + - 7_10_1-test: | + cd example.org + cabal test all --enable-tests + - 7_10_1-haddock: | + cd example.org + cabal haddock all + - 7_10_2-prepare: | + cd example.org + cabal configure -w ghc-7.10.2 + - 7_10_2-check: | + cd example.org + cabal check + - 7_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_2-build: | + cd example.org + cabal build all + - 7_10_2-test: | + cd example.org + cabal test all --enable-tests + - 7_10_2-haddock: | + cd example.org + cabal haddock all + - 7_10_3-prepare: | + cd example.org + cabal configure -w ghc-7.10.3 + - 7_10_3-check: | + cd example.org + cabal check + - 7_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 7_10_3-build: | + cd example.org + cabal build all + - 7_10_3-test: | + cd example.org + cabal test all --enable-tests + - 7_10_3-haddock: | + cd example.org + cabal haddock all + - 8_0_1-prepare: | + cd example.org + cabal configure -w ghc-8.0.1 + - 8_0_1-check: | + cd example.org + cabal check + - 8_0_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_1-build: | + cd example.org + cabal build all + - 8_0_1-test: | + cd example.org + cabal test all --enable-tests + - 8_0_1-haddock: | + cd example.org + cabal haddock all + - 8_0_2-prepare: | + cd example.org + cabal configure -w ghc-8.0.2 + - 8_0_2-check: | + cd example.org + cabal check + - 8_0_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_0_2-build: | + cd example.org + cabal build all + - 8_0_2-test: | + cd example.org + cabal test all --enable-tests + - 8_0_2-haddock: | + cd example.org + cabal haddock all + - 8_2_1-prepare: | + cd example.org + cabal configure -w ghc-8.2.1 + - 8_2_1-check: | + cd example.org + cabal check + - 8_2_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_1-build: | + cd example.org + cabal build all + - 8_2_1-test: | + cd example.org + cabal test all --enable-tests + - 8_2_1-haddock: | + cd example.org + cabal haddock all + - 8_2_2-prepare: | + cd example.org + cabal configure -w ghc-8.2.2 + - 8_2_2-check: | + cd example.org + cabal check + - 8_2_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_2_2-build: | + cd example.org + cabal build all + - 8_2_2-test: | + cd example.org + cabal test all --enable-tests + - 8_2_2-haddock: | + cd example.org + cabal haddock all + - 8_4_1-prepare: | + cd example.org + cabal configure -w ghc-8.4.1 + - 8_4_1-check: | + cd example.org + cabal check + - 8_4_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_1-build: | + cd example.org + cabal build all + - 8_4_1-test: | + cd example.org + cabal test all --enable-tests + - 8_4_1-haddock: | + cd example.org + cabal haddock all + - 8_4_2-prepare: | + cd example.org + cabal configure -w ghc-8.4.2 + - 8_4_2-check: | + cd example.org + cabal check + - 8_4_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_2-build: | + cd example.org + cabal build all + - 8_4_2-test: | + cd example.org + cabal test all --enable-tests + - 8_4_2-haddock: | + cd example.org + cabal haddock all + - 8_4_3-prepare: | + cd example.org + cabal configure -w ghc-8.4.3 + - 8_4_3-check: | + cd example.org + cabal check + - 8_4_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_3-build: | + cd example.org + cabal build all + - 8_4_3-test: | + cd example.org + cabal test all --enable-tests + - 8_4_3-haddock: | + cd example.org + cabal haddock all + - 8_4_4-prepare: | + cd example.org + cabal configure -w ghc-8.4.4 + - 8_4_4-check: | + cd example.org + cabal check + - 8_4_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_4_4-build: | + cd example.org + cabal build all + - 8_4_4-test: | + cd example.org + cabal test all --enable-tests + - 8_4_4-haddock: | + cd example.org + cabal haddock all + - 8_6_1-prepare: | + cd example.org + cabal configure -w ghc-8.6.1 + - 8_6_1-check: | + cd example.org + cabal check + - 8_6_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_1-build: | + cd example.org + cabal build all + - 8_6_1-test: | + cd example.org + cabal test all --enable-tests + - 8_6_1-haddock: | + cd example.org + cabal haddock all + - 8_6_2-prepare: | + cd example.org + cabal configure -w ghc-8.6.2 + - 8_6_2-check: | + cd example.org + cabal check + - 8_6_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_2-build: | + cd example.org + cabal build all + - 8_6_2-test: | + cd example.org + cabal test all --enable-tests + - 8_6_2-haddock: | + cd example.org + cabal haddock all + - 8_6_3-prepare: | + cd example.org + cabal configure -w ghc-8.6.3 + - 8_6_3-check: | + cd example.org + cabal check + - 8_6_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_3-build: | + cd example.org + cabal build all + - 8_6_3-test: | + cd example.org + cabal test all --enable-tests + - 8_6_3-haddock: | + cd example.org + cabal haddock all + - 8_6_4-prepare: | + cd example.org + cabal configure -w ghc-8.6.4 + - 8_6_4-check: | + cd example.org + cabal check + - 8_6_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_4-build: | + cd example.org + cabal build all + - 8_6_4-test: | + cd example.org + cabal test all --enable-tests + - 8_6_4-haddock: | + cd example.org + cabal haddock all + - 8_6_5-prepare: | + cd example.org + cabal configure -w ghc-8.6.5 + - 8_6_5-check: | + cd example.org + cabal check + - 8_6_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_6_5-build: | + cd example.org + cabal build all + - 8_6_5-test: | + cd example.org + cabal test all --enable-tests + - 8_6_5-haddock: | + cd example.org + cabal haddock all + - 8_8_1-prepare: | + cd example.org + cabal configure -w ghc-8.8.1 + - 8_8_1-check: | + cd example.org + cabal check + - 8_8_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_1-build: | + cd example.org + cabal build all + - 8_8_1-test: | + cd example.org + cabal test all --enable-tests + - 8_8_1-haddock: | + cd example.org + cabal haddock all + - 8_8_2-prepare: | + cd example.org + cabal configure -w ghc-8.8.2 + - 8_8_2-check: | + cd example.org + cabal check + - 8_8_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_2-build: | + cd example.org + cabal build all + - 8_8_2-test: | + cd example.org + cabal test all --enable-tests + - 8_8_2-haddock: | + cd example.org + cabal haddock all + - 8_8_3-prepare: | + cd example.org + cabal configure -w ghc-8.8.3 + - 8_8_3-check: | + cd example.org + cabal check + - 8_8_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_3-build: | + cd example.org + cabal build all + - 8_8_3-test: | + cd example.org + cabal test all --enable-tests + - 8_8_3-haddock: | + cd example.org + cabal haddock all + - 8_8_4-prepare: | + cd example.org + cabal configure -w ghc-8.8.4 + - 8_8_4-check: | + cd example.org + cabal check + - 8_8_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_8_4-build: | + cd example.org + cabal build all + - 8_8_4-test: | + cd example.org + cabal test all --enable-tests + - 8_8_4-haddock: | + cd example.org + cabal haddock all + - 8_10_1-prepare: | + cd example.org + cabal configure -w ghc-8.10.1 + - 8_10_1-check: | + cd example.org + cabal check + - 8_10_1-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_1-build: | + cd example.org + cabal build all + - 8_10_1-test: | + cd example.org + cabal test all --enable-tests + - 8_10_1-haddock: | + cd example.org + cabal haddock all + - 8_10_2-prepare: | + cd example.org + cabal configure -w ghc-8.10.2 + - 8_10_2-check: | + cd example.org + cabal check + - 8_10_2-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_2-build: | + cd example.org + cabal build all + - 8_10_2-test: | + cd example.org + cabal test all --enable-tests + - 8_10_2-haddock: | + cd example.org + cabal haddock all + - 8_10_3-prepare: | + cd example.org + cabal configure -w ghc-8.10.3 + - 8_10_3-check: | + cd example.org + cabal check + - 8_10_3-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_3-build: | + cd example.org + cabal build all + - 8_10_3-test: | + cd example.org + cabal test all --enable-tests + - 8_10_3-haddock: | + cd example.org + cabal haddock all + - 8_10_4-prepare: | + cd example.org + cabal configure -w ghc-8.10.4 + - 8_10_4-check: | + cd example.org + cabal check + - 8_10_4-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_4-build: | + cd example.org + cabal build all + - 8_10_4-test: | + cd example.org + cabal test all --enable-tests + - 8_10_4-haddock: | + cd example.org + cabal haddock all + - 8_10_5-prepare: | + cd example.org + cabal configure -w ghc-8.10.5 + - 8_10_5-check: | + cd example.org + cabal check + - 8_10_5-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_5-build: | + cd example.org + cabal build all + - 8_10_5-test: | + cd example.org + cabal test all --enable-tests + - 8_10_5-haddock: | + cd example.org + cabal haddock all + - 8_10_6-prepare: | + cd example.org + cabal configure -w ghc-8.10.6 + - 8_10_6-check: | + cd example.org + cabal check + - 8_10_6-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_6-build: | + cd example.org + cabal build all + - 8_10_6-test: | + cd example.org + cabal test all --enable-tests + - 8_10_6-haddock: | + cd example.org + cabal haddock all + - 8_10_7-prepare: | + cd example.org + cabal configure -w ghc-8.10.7 + - 8_10_7-check: | + cd example.org + cabal check + - 8_10_7-dependencies: | + cd example.org + cabal build all --enable-tests --only-dependencies + cabal build all --only-dependencies + - 8_10_7-build: | + cd example.org + cabal build all + - 8_10_7-test: | + cd example.org + cabal test all --enable-tests + - 8_10_7-haddock: | + cd example.org + cabal haddock all +triggers: + - action: email + condition: failure + to: haskell-servant-maintainers@googlegroups.com diff --git a/haskell-ci.cabal b/haskell-ci.cabal index 59b40c7a..3f1e6750 100644 --- a/haskell-ci.cabal +++ b/haskell-ci.cabal @@ -107,6 +107,8 @@ library haskell-ci-internal HaskellCI.Prelude HaskellCI.Sh HaskellCI.ShVersionRange + HaskellCI.Sourcehut + HaskellCI.Sourcehut.Yaml HaskellCI.TestedWith HaskellCI.Tools HaskellCI.Travis @@ -197,6 +199,7 @@ test-suite golden , base-compat , bytestring , Cabal + , containers , directory , filepath , haskell-ci-internal diff --git a/src/HaskellCI.hs b/src/HaskellCI.hs index 64beeb9d..56f4c37b 100644 --- a/src/HaskellCI.hs +++ b/src/HaskellCI.hs @@ -23,17 +23,21 @@ module HaskellCI ( bashFromConfigFile, travisFromConfigFile, githubFromConfigFile, + sourcehutFromConfigFile, ) where import HaskellCI.Prelude import Control.Exception (try) -import Data.List (nubBy, sort, sortBy, (\\)) -import System.Directory (createDirectoryIfMissing, doesFileExist, setCurrentDirectory) +import Data.List (nubBy, sort, sortBy, (\\), isSuffixOf) +import qualified Data.Map.Strict as M +import System.Directory (createDirectoryIfMissing, doesFileExist, setCurrentDirectory, getDirectoryContents) import System.Environment (getArgs) import System.Exit (ExitCode (..), exitFailure) +import System.FilePath (()) import System.FilePath.Posix (takeDirectory) import System.IO (hClose, hPutStrLn, stderr) +import System.IO.Error (catchIOError, isDoesNotExistError) import System.IO.Temp (withSystemTempFile) import System.Process (readProcessWithExitCode) @@ -64,6 +68,8 @@ import HaskellCI.GitHub import HaskellCI.HeadHackage import HaskellCI.Jobs import HaskellCI.Package +import HaskellCI.Sourcehut +import HaskellCI.Sourcehut.Yaml (sourcehutManifests) import HaskellCI.TestedWith import HaskellCI.Travis import HaskellCI.VersionInfo @@ -93,10 +99,12 @@ main = do regenerateBash opts regenerateGitHub opts regenerateTravis opts + regenerateSourcehut opts - CommandBash f -> doBash argv0 f opts - CommandGitHub f -> doGitHub argv0 f opts - CommandTravis f -> doTravis argv0 f opts + CommandBash f -> doBash argv0 f opts + CommandGitHub f -> doGitHub argv0 f opts + CommandTravis f -> doTravis argv0 f opts + CommandSourcehut f -> doSourcehut argv0 f opts CommandVersionInfo -> do putStrLn $ "haskell-ci " ++ haskellCIVerStr ++ " with dependencies" @@ -368,6 +376,104 @@ regenerateGitHub opts = do noGitHubScript :: IO () noGitHubScript = putStrLn $ "No " ++ fp ++ ", skipping GitHub config regeneration" +------------------------------------------------------------------------------- +-- Sourcehut +------------------------------------------------------------------------------- + +defaultSourcehutPath :: FilePath +defaultSourcehutPath = ".builds" + +doSourcehut :: [String] -> FilePath -> Options -> IO () +doSourcehut args path opts = do + contents <- sourcehutFromConfigFile args opts path + case optOutput opts of + Nothing -> do + createDir defaultSourcehutPath + for_ (M.toList contents) $ \(fn, content) -> + BS.writeFile (defaultSourcehutPath (fn ++ ".yml")) content + Just OutputStdout -> case M.toList contents of + [(_,content)] -> BS.putStr content + _ -> fail "Cannot print multiple files to standard output" + Just (OutputFile fp) -> do + createDir fp + for_ (M.toList contents) $ \(fn, content) -> + BS.writeFile (fp (fn ++ ".yml")) content + where + createDir p = createDirectoryIfMissing True p + +sourcehutFromConfigFile + :: forall m. (MonadIO m, MonadDiagnostics m, MonadMask m) + => [String] + -> Options + -> FilePath + -> m (M.Map FilePath ByteString) +sourcehutFromConfigFile 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 + + genSourcehutFromConfigs args config gitconfig prj' ghcs + -- TODO ls <- genSourcehutFromConfigs ...; patchSourcehut config ls + +genSourcehutFromConfigs + :: (Monad m, MonadIO m, MonadDiagnostics m) + => [String] + -> Config + -> GitConfig + -> Project URI Void Package + -> Set CompilerVersion + -> m (M.Map FilePath ByteString) +genSourcehutFromConfigs argv config gitconfig prj vs = do + let jobVersions = makeJobVersions config vs + case makeSourcehut argv config gitconfig prj jobVersions of + Left err -> putStrLnErr $ displayException err + Right sourcehut -> do + describeJobs "Sourcehut config" (cfgTestedWith config) jobVersions (prjPackages prj) + return $ toUTF8BS . prettyYaml id . reann (sourcehutHeader (cfgInsertVersion config) argv ++) . toYaml + <$> sourcehutManifests sourcehut + +regenerateSourcehut :: Options -> IO () +regenerateSourcehut opts = do + -- change the directory + for_ (optCwd opts) setCurrentDirectory + + yamls <- filter (isSuffixOf ".yml") <$> getDirectoryContents' defaultSourcehutPath + let fp = case yamls of [] -> ".build.yml"; f : _ -> defaultSourcehutPath f + -- read, and then change to the directory + withContents fp noSourcehutScript $ \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 + + -- Warn about outdated .yml files. to be safe, we don't delete them all. + putStrLnWarn "Outdated .yml files will not be deleted" + (f, opts') <- parseOptions argv + doSourcehut argv f ( optionsWithOutputFile fp <> opts' <> opts) + where + noSourcehutScript :: IO () + noSourcehutScript = putStrLn $ "No " ++ defaultSourcehutPath ++ "/*.yml or .build.yml, skipping Sourcehut config regeneration" + getDirectoryContents' :: FilePath -> IO [FilePath] + getDirectoryContents' fp = + getDirectoryContents fp + `catchIOError` + \e -> if isDoesNotExistError e then return [] else ioError e + ------------------------------------------------------------------------------- -- Config file ------------------------------------------------------------------------------- diff --git a/src/HaskellCI/Cli.hs b/src/HaskellCI/Cli.hs index ce10fea8..8026a816 100644 --- a/src/HaskellCI/Cli.hs +++ b/src/HaskellCI/Cli.hs @@ -23,6 +23,7 @@ data Command = CommandTravis FilePath | CommandBash FilePath | CommandGitHub FilePath + | CommandSourcehut FilePath | CommandRegenerate | CommandListGHC | CommandDumpConfig @@ -133,6 +134,7 @@ cliParserInfo = O.info ((,) <$> cmdP <*> optionsP O.<**> versionP O.<**> O.helpe , 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 "sourcehut" $ O.info sourcehutP $ O.progDesc "Generate Sourcehut 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" @@ -147,6 +149,9 @@ cliParserInfo = O.info ((,) <$> cmdP <*> optionsP O.<**> versionP O.<**> O.helpe githubP = CommandGitHub <$> O.strArgument (O.metavar "CABAL.FILE" <> O.action "file" <> O.help "Either or cabal.project") + sourcehutP = CommandSourcehut + <$> O.strArgument (O.metavar "CABAL.FILE" <> O.action "file" <> O.help "Either or cabal.project") + ------------------------------------------------------------------------------- -- Parsing helpers ------------------------------------------------------------------------------- @@ -163,7 +168,8 @@ 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 + fromCmd (CommandTravis fp) = return fp + fromCmd (CommandBash fp) = return fp + fromCmd (CommandGitHub fp) = return fp + fromCmd (CommandSourcehut fp) = return fp + fromCmd cmd = fail $ "Command without filepath: " ++ show cmd diff --git a/src/HaskellCI/Config.hs b/src/HaskellCI/Config.hs index 8fd8ec36..7d7c3650 100644 --- a/src/HaskellCI/Config.hs +++ b/src/HaskellCI/Config.hs @@ -103,6 +103,8 @@ data Config = Config , cfgRawTravis :: !String , cfgGitHubActionName :: !(Maybe String) , cfgTimeoutMinutes :: !Natural + , cfgSourcehutSource :: !(Maybe String) + , cfgSourcehutParallel :: !Bool } deriving (Generic) @@ -247,6 +249,12 @@ configGrammar = Config ^^^ help "The name of GitHub Action" <*> C.optionalFieldDef "timeout-minutes" (field @"cfgTimeoutMinutes") 60 ^^^ metahelp "MINUTES" "The maximum number of minutes to let a job run" + <*> C.freeTextField "sourcehut-source" (field @"cfgSourcehutSource") + ^^^ metahelp "URI" "The source to test (default: from git remote)" + <*> C.booleanFieldDef "sourcehut-parallel" (field @"cfgSourcehutParallel") False + ^^^ help "In Sourcehut, use many manifests to run jobs in parallel. \ + \Disabled by default because in the sr.ht instance a maximum of \ + \4 parallel jobs are allowed." ------------------------------------------------------------------------------- -- Reading diff --git a/src/HaskellCI/Sourcehut.hs b/src/HaskellCI/Sourcehut.hs new file mode 100644 index 00000000..4854ce63 --- /dev/null +++ b/src/HaskellCI/Sourcehut.hs @@ -0,0 +1,216 @@ +-- | Take configuration, produce 'Sourcehut'. +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} +module HaskellCI.Sourcehut ( + makeSourcehut, + sourcehutHeader, + ) where + +import HaskellCI.Prelude + +import qualified Data.Map.Strict as M +import qualified Data.Set as S +import qualified Data.Text as T +import qualified Distribution.Pretty as C +import qualified Distribution.Types.GenericPackageDescription as C +import qualified Distribution.Types.PackageDescription as C +import qualified Distribution.Types.VersionRange as C +import qualified Distribution.Utils.ShortText as C +import qualified Distribution.Simple.Utils as C +import System.FilePath.Posix (takeFileName) + +import Cabal.Project +import HaskellCI.Auxiliary +import HaskellCI.Compiler +import HaskellCI.Config +import HaskellCI.GitConfig +import HaskellCI.Jobs +import HaskellCI.List +import HaskellCI.Package +import HaskellCI.Sh +import HaskellCI.Sourcehut.Yaml +import HaskellCI.VersionInfo + + +------------------------------------------------------------------------------- +-- Sourcehut header +------------------------------------------------------------------------------- + +sourcehutHeader :: Bool -> [String] -> [String] +sourcehutHeader insertVersion argv = + [ "This Sourcehut 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" + , "" + ] ++ + verlines ++ + [ "REGENDATA " ++ if insertVersion then show (haskellCIVerStr, argv) else show argv + , "" + ] + where + verlines + | insertVersion = [ "version: " ++ haskellCIVerStr , "" ] + | otherwise = [] + +------------------------------------------------------------------------------- +-- Generate sourcehut configuration +------------------------------------------------------------------------------- + +{- +Sourcehut–specific notes: + +* We don't use -j for parallelism, as machines could have different numbers of + cores +* By default we run jobs sequentially, since on the sr.ht instance parallelism + is limited and build machines are fast +-} + +makeSourcehut + :: [String] + -> Config + -> GitConfig + -> Project URI Void Package + -> JobVersions + -> Either HsCiError Sourcehut +makeSourcehut _argv config@Config {..} gitconfig prj jobs = do + let gitRemote = case M.toList (gitCfgRemotes gitconfig) of + [(_,url)] -> Just url + -- In case of multiple remotes, pick origin + -- MAYBE just pick the first instead? + rs -> case filter (("origin" ==) . fst) rs of + (_,url) : _ -> Just url + [] -> Nothing + source <- case cfgSourcehutSource of + Just url -> return url + Nothing -> case gitRemote of + Just url -> return $ T.unpack url + Nothing -> Left $ ValidationError "multiple/no remotes found and --sourcehut-source was not used" + makeSourcehut' config source prj jobs + +makeSourcehut' + :: Config + -> String + -> Project URI Void Package + -> JobVersions + -> Either HsCiError Sourcehut +makeSourcehut' config@Config {..} source prj jobs@JobVersions {..} = + Sourcehut <$> + if cfgSourcehutParallel + then parallelManifests + else M.singleton "all" <$> sequentialManifest + where + Auxiliary {..} = auxiliary config prj jobs + + parallelManifests :: Either HsCiError (M.Map String SourcehutManifest) + parallelManifests = fmap (M.mapKeys dispGhcVersionShort) $ + sequence $ M.fromSet (mkManifest . S.singleton) linuxVersions + + sequentialManifest :: Either HsCiError SourcehutManifest + sequentialManifest = mkManifest linuxVersions + + mkManifest :: Set CompilerVersion -> Either HsCiError SourcehutManifest + mkManifest compilers = do + prepare <- fmap (SourcehutTask "all-prepare") $ runSh $ do + when (cfgGhcupCabal || any isGHCUP compilers) $ do + installGhcup + sh "export PATH=$PATH:$HOME/.ghcup/bin" + tell_env "PATH" "$PATH:$HOME/.ghcup/bin" + if cfgGhcupCabal then installGhcupCabal else do + sh "export PATH=$PATH:/opt/cabal/bin" + tell_env "PATH" "$PATH:/opt/cabal/bin" + for_ (S.filter isGHCUP compilers) $ \compiler -> do + sh $ "\"$HOME/.ghcup/bin/ghcup\" install ghc \"" ++ dispGhcVersion compiler ++ "\"" + unless (all isGHCUP compilers) $ do + sh "export PATH=$PATH:/opt/ghc/bin" + tell_env "PATH" "$PATH:/opt/ghc/bin" + sh "cabal update" + tasks <- concat <$> traverse mkTasksForGhc (S.toList compilers) + let aptCompilers = S.filter (not . isGHCUP) compilers + aptCabal = + [ "cabal-install-" ++ dispCabalVersion cfgCabalInstallVersion + | not cfgGhcupCabal ] + return SourcehutManifest + { srhtManifestImage = cfgUbuntu + , srhtManifestPackages = + "gcc" : + -- if all GHCs are installed by ghcup, gmp won't be pulled in + -- by ghc, so we install it explicitly + "libgmp-dev" : + toList cfgApt ++ + aptCabal ++ + (dispGhcVersion <$> S.toList aptCompilers) + , srhtManifestRepositories = if S.null aptCompilers && cfgGhcupCabal + then M.empty else M.singleton "hvr-ghc" + ("http://ppa.launchpad.net/hvr/ghc/ubuntu " ++ C.prettyShow cfgUbuntu ++ " main ff3aeacef6f88286") + , srhtManifestArtifacts = [] + , srhtManifestSources = [source] + , srhtManifestTasks = prepare : tasks + , srhtManifestTriggers = SourcehutTriggerEmail <$> C.ordNub (getEmails prj) + , srhtManifestEnvironment = mempty + } + + clonePath :: FilePath + clonePath = removeSuffix ".git" $ takeFileName $ source + + -- MAYBE reader for job and clonePath + mkTasksForGhc :: CompilerVersion -> Either HsCiError [SourcehutTask] + mkTasksForGhc job = sequence $ buildList $ do + sourcehutRun "prepare" job clonePath $ + sh $ "cabal configure -w " ++ dispGhcVersion job + sourcehutRun "check" job clonePath $ + sh "cabal check" + when cfgInstallDeps $ sourcehutRun "dependencies" job clonePath $ do + sh "cabal build all --enable-tests --only-dependencies" + sh "cabal build all --only-dependencies" + sourcehutRun "build" job clonePath $ + sh "cabal build all" + sourcehutRun "test" job clonePath $ + sh "cabal test all --enable-tests" + when (hasLibrary && not (equivVersionRanges C.noVersion cfgHaddock)) $ sourcehutRun "haddock" job clonePath $ + sh "cabal haddock all" + + installGhcup :: ShM () + installGhcup = do + let ghcupVer = C.prettyShow cfgGhcupVersion + sh $ "mkdir -p \"$HOME/.ghcup/bin\"" + sh $ "curl -sL https://downloads.haskell.org/ghcup/" ++ ghcupVer ++ "/x86_64-linux-ghcup-" ++ ghcupVer ++ " > \"$HOME/.ghcup/bin/ghcup\"" + sh $ "chmod a+x \"$HOME/.ghcup/bin/ghcup\"" + + installGhcupCabal :: ShM () + installGhcupCabal = + sh $ "\"$HOME/.ghcup/bin/ghcup\" install cabal " ++ dispCabalVersion cfgCabalInstallVersion + + -- job to be setup with ghcup + isGHCUP :: CompilerVersion -> Bool + isGHCUP v = compilerWithinRange v (RangeGHC /\ Range cfgGhcupJobs) + +removeSuffix :: String -> String -> String +removeSuffix suffix orig = + fromMaybe orig $ stripSuffix suffix orig + where + stripSuffix sf str = reverse <$> stripPrefix (reverse sf) (reverse str) + +getEmails :: Project URI Void Package -> [String] +getEmails = fmap (C.fromShortText . C.maintainer . C.packageDescription . pkgGpd) . prjPackages + +sourcehutRun :: String -> CompilerVersion -> FilePath -> ShM () -> ListBuilder (Either HsCiError SourcehutTask) () +sourcehutRun name job clonePath shm = item $ do + shs <- runSh $ do + -- 2164: -e is set by default + sh' [2164] $ "cd " ++ clonePath + shm + return $ SourcehutTask (ghcVersionTask <> "-" <> name) shs + where ghcVersionTask = (\c -> if c == '.' then '_' else c) <$> dispGhcVersionShort job + +tell_env' :: String -> String -> String +tell_env' k v = "echo " ++ show ("export " ++ k ++ "=" ++ v) ++ " >> ~/.buildenv" + +tell_env :: String -> String -> ShM () +tell_env k v = sh $ tell_env' k v diff --git a/src/HaskellCI/Sourcehut/Yaml.hs b/src/HaskellCI/Sourcehut/Yaml.hs new file mode 100644 index 00000000..17c70786 --- /dev/null +++ b/src/HaskellCI/Sourcehut/Yaml.hs @@ -0,0 +1,64 @@ +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE StrictData #-} +-- | @.builds@ structure. +module HaskellCI.Sourcehut.Yaml where + +import HaskellCI.Prelude + +import qualified Data.Map.Strict as M + +import HaskellCI.Config.Ubuntu +import HaskellCI.Sh +import HaskellCI.YamlSyntax + +------------------------------------------------------------------------------- +-- Data +------------------------------------------------------------------------------- + +newtype Sourcehut = Sourcehut + { sourcehutManifests :: M.Map String SourcehutManifest + } + +data SourcehutManifest = SourcehutManifest + { srhtManifestImage :: Ubuntu + , srhtManifestPackages :: [String] + , srhtManifestRepositories :: M.Map String String + , srhtManifestArtifacts :: [FilePath] + , srhtManifestSources :: [String] + , srhtManifestTasks :: [SourcehutTask] + , srhtManifestTriggers :: [SourcehutTrigger] + , srhtManifestEnvironment :: M.Map String String + } + +data SourcehutTask = SourcehutTask String [Sh] + +data SourcehutTrigger = SourcehutTriggerEmail String -- the "to" address + | SourcehutTriggerWebhook String + +instance ToYaml SourcehutManifest where + toYaml SourcehutManifest{..} = ykeyValuesFilt [] + [ "image" ~> fromString ("ubuntu/" ++ showUbuntu srhtManifestImage) + , "packages" ~> ylistFilt [] (fromString <$> srhtManifestPackages) + , "repositories" ~> ykeyValuesFilt [] + ((\(name, src) -> name ~> fromString src) <$> M.toList srhtManifestRepositories) + , "artifacts" ~> ylistFilt [] (fromString <$> srhtManifestArtifacts) + , "sources" ~> ylistFilt [] (fromString <$> srhtManifestSources) + , "tasks" ~> ylistFilt [] + ((\(SourcehutTask name code) -> ykeyValuesFilt [] $ [name ~> fromString (shlistToString code)]) <$> srhtManifestTasks) + , "triggers" ~> ylistFilt [] (toYaml <$> srhtManifestTriggers) + , "environment" ~> ykeyValuesFilt [] + ((\(k, v) -> k ~> fromString v) <$> M.toList srhtManifestEnvironment) + ] + +instance ToYaml SourcehutTrigger where + toYaml (SourcehutTriggerEmail to) = ykeyValuesFilt [] + [ "action" ~> "email" + , "condition" ~> "failure" + , "to" ~> fromString to + ] + toYaml (SourcehutTriggerWebhook url) = ykeyValuesFilt [] + [ "action" ~> "webhook" + , "condition" ~> "failure" + , "url" ~> fromString url + ] diff --git a/test/Tests.hs b/test/Tests.hs index 022cd963..3ce5cf4b 100644 --- a/test/Tests.hs +++ b/test/Tests.hs @@ -18,6 +18,8 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BS8 import qualified System.Console.ANSI as ANSI +import qualified Data.Map as Map + main :: IO () main = do setCurrentDirectory "fixtures/" @@ -30,6 +32,7 @@ main = do , fixtureGoldenTest "psql" , fixtureGoldenTest "travis-patch" , fixtureGoldenTest "enabled-jobs" + , fixtureGoldenTest "sourcehut-parallel" , testGroup "copy-fields" [ fixtureGoldenTest "copy-fields-all" , fixtureGoldenTest "copy-fields-some" @@ -44,17 +47,25 @@ main = do -- @ fixtureGoldenTest :: FilePath -> TestTree fixtureGoldenTest fp = testGroup fp - [ fixtureGoldenTest' "travis" travisFromConfigFile - , fixtureGoldenTest' "github" githubFromConfigFile - , fixtureGoldenTest' "bash" bashFromConfigFile + [ fixtureGoldenTest' "travis" travisFromConfigFile + , fixtureGoldenTest' "github" githubFromConfigFile + , fixtureGoldenTest' "bash" bashFromConfigFile + , fixtureGoldenTest' "sourcehut" sourcehutFromConfigFile' ] where + sourcehutFromConfigFile' argv opts projectfp = + BS.concat <$> fmap addSourcehutHeader <$> Map.toList <$> + sourcehutFromConfigFile argv opts projectfp + + addSourcehutHeader :: (FilePath, BS.ByteString) -> BS.ByteString + addSourcehutHeader (n, m) = BS8.pack ("# manifest name: " <> n <> "\n") <> m + -- name acts as extension also fixtureGoldenTest' name generate = cabalGoldenTest name outputRef $ do (argv, opts') <- makeFlags let opts = opts' - { optInputType = Just InputTypeProject - , optConfigMorphism = (\cfg -> cfg { cfgInsertVersion = False}) . optConfigMorphism opts' + { optInputType = Just InputTypeProject + , optConfigMorphism = (\cfg -> cfg { cfgInsertVersion = False}) . optConfigMorphism opts' } let genConfig = generate argv opts projectfp first (fmap (lines . fromUTF8BS)) <$> runDiagnosticsT genConfig @@ -70,7 +81,9 @@ fixtureGoldenTest fp = testGroup fp makeFlags :: IO ([String], Options) makeFlags = do argv <- readArgv - let argv' = argv ++ [name, projectfp] + let argv' = argv ++ [name, projectfp] ++ + [ arg | arg <- ["--sourcehut-source", "https://example.org"] + , name == "sourcehut" ] (_fp, opts) <- parseOptions argv' return (argv', opts)