haskell-ci 0.12.1 → 0.14
raw patch · 59 files changed
+3487/−821 lines, 59 filesdep ~Cabaldep ~ShellCheckdep ~aesonPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: Cabal, ShellCheck, aeson, attoparsec, base, base-compat, bytestring, cabal-install-parsers
API changes (from Hackage documentation)
- HaskellCI: [cfgOsx] :: Config -> Set Version
- HaskellCI.Config: [cfgOsx] :: Config -> Set Version
- HaskellCI.Config: defaultHeadHackage :: VersionRange
- HaskellCI.Config.ConstraintSet: emptyConstraintSet :: String -> ConstraintSet
- HaskellCI.Config.Docspec: defaultDocspecConfig :: DocspecConfig
- HaskellCI.Config.Doctest: defaultDoctestConfig :: DoctestConfig
- HaskellCI.Config.HLint: defaultHLintConfig :: HLintConfig
- HaskellCI.GitHub.Yaml: shlistToString :: [Sh] -> String
- HaskellCI.Jobs: [omittedOsxVersions] :: JobVersions -> Set Version
- HaskellCI.Jobs: [osxVersions] :: JobVersions -> Set Version
- HaskellCI.Jobs: [versions] :: JobVersions -> Set CompilerVersion
+ HaskellCI: [cfgEnabledJobs] :: Config -> !VersionRange
+ HaskellCI: [cfgGhcupCabal] :: Config -> !Bool
+ HaskellCI: [cfgGhcupJobs] :: Config -> !VersionRange
+ HaskellCI: [cfgGhcupVersion] :: Config -> !Version
+ HaskellCI: [cfgIrcNickname] :: Config -> Maybe String
+ HaskellCI: [cfgIrcPassword] :: Config -> Maybe String
+ HaskellCI: [cfgLinuxJobs] :: Config -> !VersionRange
+ HaskellCI: [cfgMacosJobs] :: Config -> !VersionRange
+ HaskellCI: [cfgTimeoutMinutes] :: Config -> !Natural
+ HaskellCI.Compiler: compilerKind :: CompilerVersion -> String
+ HaskellCI.Compiler: compilerVersion :: CompilerVersion -> String
+ HaskellCI.Config: [cfgEnabledJobs] :: Config -> !VersionRange
+ HaskellCI.Config: [cfgGhcupCabal] :: Config -> !Bool
+ HaskellCI.Config: [cfgGhcupJobs] :: Config -> !VersionRange
+ HaskellCI.Config: [cfgGhcupVersion] :: Config -> !Version
+ HaskellCI.Config: [cfgIrcNickname] :: Config -> Maybe String
+ HaskellCI.Config: [cfgIrcPassword] :: Config -> Maybe String
+ HaskellCI.Config: [cfgLinuxJobs] :: Config -> !VersionRange
+ HaskellCI.Config: [cfgMacosJobs] :: Config -> !VersionRange
+ HaskellCI.Config: [cfgTimeoutMinutes] :: Config -> !Natural
+ HaskellCI.Config: defaultGhcupVersion :: Version
+ HaskellCI.Config.ConstraintSet: [csGhcjs] :: ConstraintSet -> Bool
+ HaskellCI.Config.Empty: EG :: Either (NonEmpty FieldName) a -> EmptyGrammar s a
+ HaskellCI.Config.Empty: [runEG] :: EmptyGrammar s a -> Either (NonEmpty FieldName) a
+ HaskellCI.Config.Empty: instance Distribution.FieldGrammar.Class.FieldGrammar Data.Typeable.Internal.Typeable HaskellCI.Config.Empty.EmptyGrammar
+ HaskellCI.Config.Empty: instance GHC.Base.Applicative (HaskellCI.Config.Empty.EmptyGrammar s)
+ HaskellCI.Config.Empty: instance GHC.Base.Functor (HaskellCI.Config.Empty.EmptyGrammar s)
+ HaskellCI.Config.Empty: instance HaskellCI.OptionsGrammar.OptionsGrammar Data.Typeable.Internal.Typeable HaskellCI.Config.Empty.EmptyGrammar
+ HaskellCI.Config.Empty: newtype EmptyGrammar s a
+ HaskellCI.GitHub.Yaml: GHCUP :: SetupMethod
+ HaskellCI.GitHub.Yaml: HVRPPA :: SetupMethod
+ HaskellCI.GitHub.Yaml: [ghjTimeout] :: GitHubJob -> Natural
+ HaskellCI.GitHub.Yaml: [ghmeSetupMethod] :: GitHubMatrixEntry -> SetupMethod
+ HaskellCI.GitHub.Yaml: data SetupMethod
+ HaskellCI.GitHub.Yaml: instance GHC.Show.Show HaskellCI.GitHub.Yaml.SetupMethod
+ HaskellCI.GitHub.Yaml: instance HaskellCI.YamlSyntax.ToYaml HaskellCI.GitHub.Yaml.SetupMethod
+ HaskellCI.HeadHackage: defaultHeadHackage :: VersionRange
+ HaskellCI.Jobs: [allVersions] :: JobVersions -> Set CompilerVersion
+ HaskellCI.Jobs: [linuxVersions] :: JobVersions -> Set CompilerVersion
+ HaskellCI.Jobs: [macosVersions] :: JobVersions -> Set CompilerVersion
+ HaskellCI.Prelude: class Typeable (a :: k)
+ HaskellCI.Prelude: data Natural
+ HaskellCI.Prelude: instance Distribution.Parsec.Parsec GHC.Natural.Natural
+ HaskellCI.Prelude: instance Distribution.Pretty.Pretty GHC.Natural.Natural
+ HaskellCI.Sh: liftSh :: Sh -> ShM ()
+ HaskellCI.Sh: shToString :: Sh -> String
+ HaskellCI.Sh: shlistToString :: [Sh] -> String
+ HaskellCI.Travis.Yaml: [tiNick] :: TravisIRC -> Maybe String
+ HaskellCI.Travis.Yaml: [tiPassword] :: TravisIRC -> Maybe String
+ HaskellCI.YamlSyntax: YNumber :: ann -> Integer -> Yaml ann
- HaskellCI: Config :: Maybe Version -> Maybe Jobs -> !Ubuntu -> !TestedWithJobs -> !CopyFields -> [String] -> !Bool -> !Bool -> !Bool -> [Installed] -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !Bool -> ![PackageName] -> !Bool -> !Bool -> [String] -> [String] -> Bool -> Bool -> Maybe String -> Set Fold -> !Bool -> !Bool -> !Bool -> Map Version String -> !VersionRange -> !Bool -> Set Version -> Set String -> [FilePath] -> [FilePath] -> !Bool -> !PackageScope -> !DoctestConfig -> !DocspecConfig -> !HLintConfig -> [ConstraintSet] -> [PrettyField ()] -> !String -> !Maybe String -> Config
+ HaskellCI: Config :: Maybe Version -> Maybe Jobs -> !Ubuntu -> !TestedWithJobs -> !VersionRange -> !CopyFields -> [String] -> !Bool -> !Bool -> !Bool -> [Installed] -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !Bool -> ![PackageName] -> !Bool -> !Bool -> [String] -> [String] -> Maybe String -> Maybe String -> Bool -> Bool -> Maybe String -> Set Fold -> !Bool -> !Bool -> !Bool -> Map Version String -> !VersionRange -> !Bool -> !VersionRange -> !VersionRange -> !Bool -> !VersionRange -> !Version -> Set String -> [FilePath] -> [FilePath] -> !Bool -> !PackageScope -> !DoctestConfig -> !DocspecConfig -> !HLintConfig -> [ConstraintSet] -> [PrettyField ()] -> !String -> !Maybe String -> !Natural -> Config
- HaskellCI.Config: Config :: Maybe Version -> Maybe Jobs -> !Ubuntu -> !TestedWithJobs -> !CopyFields -> [String] -> !Bool -> !Bool -> !Bool -> [Installed] -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !Bool -> ![PackageName] -> !Bool -> !Bool -> [String] -> [String] -> Bool -> Bool -> Maybe String -> Set Fold -> !Bool -> !Bool -> !Bool -> Map Version String -> !VersionRange -> !Bool -> Set Version -> Set String -> [FilePath] -> [FilePath] -> !Bool -> !PackageScope -> !DoctestConfig -> !DocspecConfig -> !HLintConfig -> [ConstraintSet] -> [PrettyField ()] -> !String -> !Maybe String -> Config
+ HaskellCI.Config: Config :: Maybe Version -> Maybe Jobs -> !Ubuntu -> !TestedWithJobs -> !VersionRange -> !CopyFields -> [String] -> !Bool -> !Bool -> !Bool -> [Installed] -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !VersionRange -> !Bool -> ![PackageName] -> !Bool -> !Bool -> [String] -> [String] -> Maybe String -> Maybe String -> Bool -> Bool -> Maybe String -> Set Fold -> !Bool -> !Bool -> !Bool -> Map Version String -> !VersionRange -> !Bool -> !VersionRange -> !VersionRange -> !Bool -> !VersionRange -> !Version -> Set String -> [FilePath] -> [FilePath] -> !Bool -> !PackageScope -> !DoctestConfig -> !DocspecConfig -> !HLintConfig -> [ConstraintSet] -> [PrettyField ()] -> !String -> !Maybe String -> !Natural -> Config
- HaskellCI.Config: configGrammar :: (OptionsGrammar c g, Applicative (g Config), c (Identity HLintJob), c (Identity PackageScope), c (Identity TestedWithJobs), c (Identity Ubuntu), c (Identity Jobs), c (Identity CopyFields), c Env, c Folds, c CopyFields, c HeadVersion, c (List FSep (Identity Installed) Installed), Applicative (g DoctestConfig), Applicative (g DocspecConfig), Applicative (g HLintConfig)) => g Config Config
+ HaskellCI.Config: configGrammar :: (OptionsGrammar c g, Applicative (g Config), c (Identity HLintJob), c (Identity PackageScope), c (Identity TestedWithJobs), c (Identity Ubuntu), c (Identity Jobs), c (Identity CopyFields), c (Identity Version), c (Identity Natural), c Env, c Folds, c CopyFields, c HeadVersion, c (List FSep (Identity Installed) Installed), Applicative (g DoctestConfig), Applicative (g DocspecConfig), Applicative (g HLintConfig)) => g Config Config
- HaskellCI.Config.ConstraintSet: ConstraintSet :: String -> VersionRange -> [String] -> Bool -> Bool -> Bool -> Bool -> Bool -> ConstraintSet
+ HaskellCI.Config.ConstraintSet: ConstraintSet :: String -> VersionRange -> Bool -> [String] -> Bool -> Bool -> Bool -> Bool -> Bool -> ConstraintSet
- HaskellCI.GitHub.Yaml: GitHubJob :: String -> String -> [String] -> Maybe String -> Maybe String -> Map String GitHubService -> Maybe String -> [GitHubMatrixEntry] -> [GitHubStep] -> GitHubJob
+ HaskellCI.GitHub.Yaml: GitHubJob :: String -> String -> [String] -> Maybe String -> Maybe String -> Map String GitHubService -> Maybe String -> [GitHubMatrixEntry] -> [GitHubStep] -> Natural -> GitHubJob
- HaskellCI.GitHub.Yaml: GitHubMatrixEntry :: CompilerVersion -> Bool -> GitHubMatrixEntry
+ HaskellCI.GitHub.Yaml: GitHubMatrixEntry :: CompilerVersion -> Bool -> SetupMethod -> GitHubMatrixEntry
- HaskellCI.Jobs: JobVersions :: Set CompilerVersion -> Set Version -> Set Version -> JobVersions
+ HaskellCI.Jobs: JobVersions :: Set CompilerVersion -> Set CompilerVersion -> Set CompilerVersion -> JobVersions
- HaskellCI.Travis.Yaml: TravisIRC :: [String] -> Bool -> [String] -> TravisIRC
+ HaskellCI.Travis.Yaml: TravisIRC :: [String] -> Bool -> [String] -> Maybe String -> Maybe String -> TravisIRC
Files
- CHANGELOG.md +8/−0
- fixtures/all-versions.bash +2/−2
- fixtures/all-versions.github +214/−33
- fixtures/all-versions.travis +60/−45
- fixtures/copy-fields-all.bash +2/−2
- fixtures/copy-fields-all.github +158/−28
- fixtures/copy-fields-all.travis +39/−30
- fixtures/copy-fields-none.bash +2/−2
- fixtures/copy-fields-none.github +158/−28
- fixtures/copy-fields-none.travis +41/−32
- fixtures/copy-fields-some.bash +2/−2
- fixtures/copy-fields-some.github +158/−28
- fixtures/copy-fields-some.travis +39/−30
- fixtures/empty-line.bash +2/−2
- fixtures/empty-line.github +158/−28
- fixtures/empty-line.travis +41/−32
- fixtures/enabled-jobs.args +1/−0
- fixtures/enabled-jobs.bash +520/−0
- fixtures/enabled-jobs.github +355/−0
- fixtures/enabled-jobs.project +1/−0
- fixtures/enabled-jobs.travis +229/−0
- fixtures/irc-channels.args +1/−1
- fixtures/irc-channels.bash +3/−3
- fixtures/irc-channels.github +163/−31
- fixtures/irc-channels.travis +44/−35
- fixtures/messy.bash +2/−2
- fixtures/messy.github +160/−28
- fixtures/messy.travis +43/−34
- fixtures/psql.bash +2/−2
- fixtures/psql.github +155/−25
- fixtures/psql.travis +41/−32
- fixtures/travis-patch.bash +2/−2
- fixtures/travis-patch.github +155/−25
- fixtures/travis-patch.patch +1/−1
- fixtures/travis-patch.travis +41/−32
- haskell-ci.cabal +11/−10
- src/HaskellCI.hs +3/−3
- src/HaskellCI/Auxiliary.hs +2/−2
- src/HaskellCI/Bash.hs +16/−15
- src/HaskellCI/Compiler.hs +26/−3
- src/HaskellCI/Config.hs +43/−56
- src/HaskellCI/Config/ConstraintSet.hs +2/−3
- src/HaskellCI/Config/Docspec.hs +7/−4
- src/HaskellCI/Config/Doctest.hs +1/−10
- src/HaskellCI/Config/Empty.hs +42/−0
- src/HaskellCI/Config/HLint.hs +0/−10
- src/HaskellCI/Config/Validity.hs +1/−1
- src/HaskellCI/GitHub.hs +169/−58
- src/HaskellCI/GitHub/Yaml.hs +15/−7
- src/HaskellCI/HeadHackage.hs +5/−0
- src/HaskellCI/Jobs.hs +54/−28
- src/HaskellCI/Prelude.hs +13/−1
- src/HaskellCI/Sh.hs +13/−0
- src/HaskellCI/ShVersionRange.hs +3/−3
- src/HaskellCI/Tools.hs +3/−2
- src/HaskellCI/Travis.hs +21/−18
- src/HaskellCI/Travis/Yaml.hs +10/−5
- src/HaskellCI/YamlSyntax.hs +23/−5
- test/Tests.hs +1/−0
CHANGELOG.md view
@@ -1,3 +1,11 @@+## 0.14 - 2022-01-05++- Add GHC-9.0 releases and GHC-9.2.1+- Add ghcup setup method. It is used by default for GHC versions not in hvr-ppa.+- GHA: Specify GHC memory limit+- GHA: timeout-minutes configuration option+- Update cabal-docspec versions used+ ## 0.12.1 - 2021-03-20 - Use HLint-3.3
fixtures/all-versions.bash view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating Bash script 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 9.0.1 ghcjs-8.4+# *INFO* Generating Bash script 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 ghcjs-8.4 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["bash","all-versions.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="9.0.1 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 7.6.3 7.6.2 7.6.1 7.4.2 7.4.1 7.2.2 7.2.1 7.0.4 7.0.3 7.0.2 7.0.1"+CFG_JOBS="9.2.1 9.0.2 9.0.1 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 7.6.3 7.6.2 7.6.1 7.4.2 7.4.1 7.2.2 7.2.1 7.0.4 7.0.3 7.0.2 7.0.1" CFG_CABAL_UPDATE=false SCRIPT_NAME=$(basename "$0")
fixtures/all-versions.github view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating GitHub 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 9.0.1 ghcjs-8.4+# *INFO* Generating GitHub 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 ghcjs-8.4 # This GitHub workflow config has been generated by a script via # # haskell-ci 'github' 'all-versions.project'@@ -20,141 +20,317 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ image: buildpack-deps:bionic continue-on-error: ${{ matrix.allow-failure }} strategy: matrix: include: - compiler: ghcjs-8.4+ compilerKind: ghcjs+ compilerVersion: "8.4"+ setup-method: hvr-ppa allow-failure: false+ - compiler: ghc-9.2.1+ compilerKind: ghc+ compilerVersion: 9.2.1+ setup-method: ghcup+ allow-failure: false+ - compiler: ghc-9.0.2+ compilerKind: ghc+ compilerVersion: 9.0.2+ setup-method: ghcup+ allow-failure: false - compiler: ghc-9.0.1+ compilerKind: ghc+ compilerVersion: 9.0.1+ setup-method: hvr-ppa allow-failure: false+ - 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 - compiler: ghc-7.6.3+ compilerKind: ghc+ compilerVersion: 7.6.3+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.6.2+ compilerKind: ghc+ compilerVersion: 7.6.2+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.6.1+ compilerKind: ghc+ compilerVersion: 7.6.1+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.4.2+ compilerKind: ghc+ compilerVersion: 7.4.2+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.4.1+ compilerKind: ghc+ compilerVersion: 7.4.1+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.2.2+ compilerKind: ghc+ compilerVersion: 7.2.2+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.2.1+ compilerKind: ghc+ compilerVersion: 7.2.1+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.0.4+ compilerKind: ghc+ compilerVersion: 7.0.4+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.0.3+ compilerKind: ghc+ compilerVersion: 7.0.3+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.0.2+ compilerKind: ghc+ compilerVersion: 7.0.2+ setup-method: hvr-ppa allow-failure: false - compiler: ghc-7.0.1+ compilerKind: ghc+ compilerVersion: 7.0.1+ setup-method: hvr-ppa allow-failure: false fail-fast: false steps: - name: Set GHCJS environment variables run: |- if echo $CC | grep -q ghcjs; then- echo "GHCJS=true" >> $GITHUB_ENV- echo "GHCJSARITH=1" >> $GITHUB_ENV+ if [ $HCKIND = ghcjs ]; then+ echo "GHCJS=true" >> "$GITHUB_ENV"+ echo "GHCJSARITH=1" >> "$GITHUB_ENV" else- echo "GHCJS=false" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ echo "GHCJS=false" >> "$GITHUB_ENV"+ echo "GHCJSARITH=0" >> "$GITHUB_ENV" fi env:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: apt run: | apt-get update- apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common- apt-add-repository -y 'ppa:hvr/ghc'- if [ $((GHCJSARITH)) -ne 0 ] ; then apt-add-repository -y 'ppa:hvr/ghcjs' ; fi- if [ $((GHCJSARITH)) -ne 0 ] ; then curl -sSL "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" | apt-key add - ; fi- if [ $((GHCJSARITH)) -ne 0 ] ; then apt-add-repository -y 'deb https://deb.nodesource.com/node_10.x xenial main' ; fi- apt-get update- if [ $((GHCJSARITH)) -ne 0 ] ; then apt-get install -y $CC cabal-install-3.4 ghc-8.4.4 nodejs ; else apt-get install -y $CC cabal-install-3.4 ; fi+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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'+ if [ $((GHCJSARITH)) -ne 0 ] ; then apt-add-repository -y 'ppa:hvr/ghcjs' ; fi+ if [ $((GHCJSARITH)) -ne 0 ] ; then curl -sSL "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" | apt-key add - ; fi+ if [ $((GHCJSARITH)) -ne 0 ] ; then apt-add-repository -y 'deb https://deb.nodesource.com/node_10.x bionic main' ; fi+ apt-get update+ if [ $((GHCJSARITH)) -ne 0 ] ; then apt-get install -y "$HCNAME" ghc-8.4.4 nodejs ; else apt-get install -y "$HCNAME" ; fi+ mkdir -p "$HOME/.ghcup/bin"+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: Set PATH and environment variables run: | echo "$HOME/.cabal/bin" >> $GITHUB_PATH if [ $((GHCJSARITH)) -ne 0 ] ; then echo "/opt/ghc/8.4.4/bin" >> $GITHUB_PATH ; fi- echo "LANG=C.UTF-8" >> $GITHUB_ENV- echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV- echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV- HCDIR=$(echo "/opt/$CC" | sed 's/-/\//')- if [ $((GHCJSARITH)) -ne 0 ] ; then HCNAME=ghcjs ; else HCNAME=ghc ; fi- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV+ 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" env:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -177,6 +353,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -217,7 +397,8 @@ - name: generate cabal.project run: | PKGDIR_splitmix="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')"- echo "PKGDIR_splitmix=${PKGDIR_splitmix}" >> $GITHUB_ENV+ echo "PKGDIR_splitmix=${PKGDIR_splitmix}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_splitmix}" >> cabal.project
fixtures/all-versions.travis view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating Travis-CI 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 9.0.1 ghcjs-8.4+# *INFO* Generating Travis-CI 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 ghcjs-8.4 # This Travis job script has been generated by a script via # # haskell-ci 'travis' 'all-versions.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -34,127 +34,142 @@ jobs: include: - compiler: ghcjs-8.4- addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu xenial main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x xenial main"}]}}+ addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu bionic main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x bionic main"}]}} os: linux+ - compiler: ghc-9.2.1+ addons: {"apt":{"packages":["ghc-9.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-9.0.2+ addons: {"apt":{"packages":["ghc-9.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-9.0.1- addons: {"apt":{"packages":["ghc-9.0.1","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-9.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-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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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 - compiler: ghc-7.6.3- addons: {"apt":{"packages":["ghc-7.6.3","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.6.2- addons: {"apt":{"packages":["ghc-7.6.2","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.6.1- addons: {"apt":{"packages":["ghc-7.6.1","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.4.2- addons: {"apt":{"packages":["ghc-7.4.2","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.4.1- addons: {"apt":{"packages":["ghc-7.4.1","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.2.2- addons: {"apt":{"packages":["ghc-7.2.2","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.2.1- addons: {"apt":{"packages":["ghc-7.2.1","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.0.4- addons: {"apt":{"packages":["ghc-7.0.4","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.0.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.0.3- addons: {"apt":{"packages":["ghc-7.0.3","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.0.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.0.2- addons: {"apt":{"packages":["ghc-7.0.2","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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-7.0.1- addons: {"apt":{"packages":["ghc-7.0.1","cabal-install-3.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.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 before_install: - |@@ -217,7 +232,7 @@ echo "packages: splitmix" >> cabal.project - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"- - |+ - "" - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - cat cabal.project || true - cat cabal.project.local || true@@ -244,7 +259,7 @@ echo "packages: ${PKGDIR_splitmix}" >> cabal.project - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"- - |+ - "" - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - cat cabal.project || true - cat cabal.project.local || true
fixtures/copy-fields-all.bash view
@@ -1,5 +1,5 @@ # 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+# *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 ["--copy-fields=all","bash","copy-fields-all.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/copy-fields-all.github view
@@ -1,5 +1,5 @@ # 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+# *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 '--copy-fields=all' 'github' 'copy-fields-all.project'@@ -20,101 +20,226 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ 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:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -137,6 +262,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -178,13 +307,14 @@ - 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+ echo "PKGDIR_servant=${PKGDIR_servant}" >> "$GITHUB_ENV" PKGDIR_servant_client="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')"- echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> $GITHUB_ENV+ echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> "$GITHUB_ENV" PKGDIR_servant_docs="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')"- echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> $GITHUB_ENV+ echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> "$GITHUB_ENV" PKGDIR_servant_server="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')"- echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> $GITHUB_ENV+ echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_servant}" >> cabal.project
fixtures/copy-fields-all.travis view
@@ -1,5 +1,5 @@ # 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+# *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 '--copy-fields=all' 'travis' 'copy-fields-all.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -33,89 +33,98 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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/-/\//')
fixtures/copy-fields-none.bash view
@@ -1,5 +1,5 @@ # 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+# *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 ["--copy-fields=none","bash","copy-fields-none.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/copy-fields-none.github view
@@ -1,5 +1,5 @@ # 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+# *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 '--copy-fields=none' 'github' 'copy-fields-none.project'@@ -20,101 +20,226 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ 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:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -137,6 +262,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -178,13 +307,14 @@ - 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+ echo "PKGDIR_servant=${PKGDIR_servant}" >> "$GITHUB_ENV" PKGDIR_servant_client="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')"- echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> $GITHUB_ENV+ echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> "$GITHUB_ENV" PKGDIR_servant_docs="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')"- echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> $GITHUB_ENV+ echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> "$GITHUB_ENV" PKGDIR_servant_server="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')"- echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> $GITHUB_ENV+ echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_servant}" >> cabal.project
fixtures/copy-fields-none.travis view
@@ -1,5 +1,5 @@ # 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+# *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 '--copy-fields=none' 'travis' 'copy-fields-none.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -33,89 +33,98 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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/-/\//')@@ -176,7 +185,7 @@ - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"- - |+ - "" - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - cat cabal.project || true - cat cabal.project.local || true@@ -218,7 +227,7 @@ - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"- - |+ - "" - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant|servant-client|servant-docs|servant-server)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - cat cabal.project || true - cat cabal.project.local || true
fixtures/copy-fields-some.bash view
@@ -1,5 +1,5 @@ # 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+# *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 ["--copy-fields=some","bash","copy-fields-some.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/copy-fields-some.github view
@@ -1,5 +1,5 @@ # 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+# *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 '--copy-fields=some' 'github' 'copy-fields-some.project'@@ -20,101 +20,226 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ 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:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -137,6 +262,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -178,13 +307,14 @@ - 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+ echo "PKGDIR_servant=${PKGDIR_servant}" >> "$GITHUB_ENV" PKGDIR_servant_client="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')"- echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> $GITHUB_ENV+ echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> "$GITHUB_ENV" PKGDIR_servant_docs="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')"- echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> $GITHUB_ENV+ echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> "$GITHUB_ENV" PKGDIR_servant_server="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')"- echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> $GITHUB_ENV+ echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_servant}" >> cabal.project
fixtures/copy-fields-some.travis view
@@ -1,5 +1,5 @@ # 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+# *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 '--copy-fields=some' 'travis' 'copy-fields-some.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -33,89 +33,98 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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/-/\//')
fixtures/empty-line.bash view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating Bash script 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+# *INFO* Generating Bash script 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 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["--ghc-head","bash","empty-line.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/empty-line.github view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating GitHub 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+# *INFO* Generating GitHub 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 # This GitHub workflow config has been generated by a script via # # haskell-ci '--ghc-head' 'github' 'empty-line.project'@@ -20,101 +20,226 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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- if [ $((HCNUMVER > 81004)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> $GITHUB_ENV ; else echo "HEADHACKAGE=false" >> $GITHUB_ENV ; fi- echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"+ echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"+ echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"+ if [ $((HCNUMVER > 81007)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi+ echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"+ echo "GHCJSARITH=0" >> "$GITHUB_ENV" env:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -148,6 +273,10 @@ key-threshold: 3 EOF fi+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -189,13 +318,14 @@ - 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+ echo "PKGDIR_servant=${PKGDIR_servant}" >> "$GITHUB_ENV" PKGDIR_servant_client="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')"- echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> $GITHUB_ENV+ echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> "$GITHUB_ENV" PKGDIR_servant_docs="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')"- echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> $GITHUB_ENV+ echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> "$GITHUB_ENV" PKGDIR_servant_server="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')"- echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> $GITHUB_ENV+ echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_servant}" >> cabal.project
fixtures/empty-line.travis view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating Travis-CI 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+# *INFO* Generating Travis-CI 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 # This Travis job script has been generated by a script via # # haskell-ci '--ghc-head' 'travis' 'empty-line.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -33,92 +33,101 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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 - compiler: ghc-head- addons: {"apt":{"packages":["ghc-head","cabal-install-head"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-head","cabal-install-head"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} os: linux allow_failures: - compiler: ghc-head@@ -139,7 +148,7 @@ - TEST=--enable-tests - BENCH=--enable-benchmarks - HEADHACKAGE=false- - if [ $((HCNUMVER > 81004)) -ne 0 ] ; then HEADHACKAGE=true ; fi+ - if [ $((HCNUMVER > 81007)) -ne 0 ] ; then HEADHACKAGE=true ; fi - rm -f $CABALHOME/config - | echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
+ fixtures/enabled-jobs.args view
@@ -0,0 +1,1 @@+--enabled-jobs=>=8
+ fixtures/enabled-jobs.bash view
@@ -0,0 +1,520 @@+# SUCCESS+# *INFO* Generating Bash script 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 ghcjs-8.4+#!/bin/bash+# shellcheck disable=SC2086,SC2016,SC2046+# REGENDATA ["--enabled-jobs=>=8","bash","enabled-jobs.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="9.2.1 9.0.2 9.0.1 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"+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 <<EOF+./haskell-ci.sh - build & test++Usage: ./haskell-ci.sh [options]+ A script to run automated checks locally (using Docker)++Available options:+ --jobs JOBS Jobs to run (default: $CFG_JOBS)+ --cabal-store-cache PATH Directory to use for cabal-store-cache+ --cabal-repo-cache PATH Directory to use for cabal-repo-cache+ --skip-cabal-update Skip cabal update (useful with --cabal-repo-cache)+ --no-skip-cabal-update+ --help Print this message++EOF+}++# getopt+#######################################################################++process_cli_options() {+ while [ $# -gt 0 ]; do+ arg=$1+ case $arg in+ --help)+ show_usage+ exit+ ;;+ --jobs)+ CFG_JOBS=$2+ shift+ shift+ ;;+ --cabal-store-cache)+ CFG_CABAL_STORE_CACHE=$2+ shift+ shift+ ;;+ --cabal-repo-cache)+ CFG_CABAL_REPO_CACHE=$2+ shift+ shift+ ;;+ --skip-cabal-update)+ CFG_CABAL_UPDATE=false+ shift+ ;;+ --no-skip-cabal-update)+ CFG_CABAL_UPDATE=true+ shift+ ;;+ *)+ echo "Unknown option $arg"+ exit 1+ esac+ done+}++process_indocker_options () {+ while [ $# -gt 0 ]; do+ arg=$1++ case $arg in+ --ghc-version)+ GHC_VERSION=$2+ shift+ shift+ ;;+ --cabal-version)+ CABAL_VERSION=$2+ shift+ shift+ ;;+ --start-time)+ START_TIME=$2+ shift+ shift+ ;;+ --cabal-update)+ CABAL_UPDATE=$2+ shift+ shift+ ;;+ *)+ echo "Unknown option $arg"+ exit 1+ esac+ done+}++if $INDOCKER; then+ process_indocker_options "$@"++else+ if [ -f "$XDG_CONFIG_HOME/haskell-ci/bash.config" ]; then+ process_cli_options $(cat "$XDG_CONFIG_HOME/haskell-ci/bash.config")+ fi++ process_cli_options "$@"++ put_info "jobs: $CFG_JOBS"+ put_info "cabal-store-cache: $CFG_CABAL_STORE_CACHE"+ put_info "cabal-repo-cache: $CFG_CABAL_REPO_CACHE"+ put_info "cabal-update: $CFG_CABAL_UPDATE"+fi++# Constants+##############################################################################++SRCDIR=/hsci/src+BUILDDIR=/hsci/build+CABAL_DIR="$BUILDDIR/cabal"+CABAL_REPOCACHE=/hsci/cabal-repocache+CABAL_STOREDIR=/hsci/store++# Docker invoke+##############################################################################++# if cache directory is specified, use it.+# Otherwise use another tmpfs host+if [ -z "$CFG_CABAL_STORE_CACHE" ]; then+ CABALSTOREARG="--tmpfs $CABAL_STOREDIR:exec"+else+ CABALSTOREARG="--volume $CFG_CABAL_STORE_CACHE:$CABAL_STOREDIR"+fi++if [ -z "$CFG_CABAL_REPO_CACHE" ]; then+ CABALREPOARG="--tmpfs $CABAL_REPOCACHE:exec"+else+ CABALREPOARG="--volume $CFG_CABAL_REPO_CACHE:$CABAL_REPOCACHE"+fi++echo_docker_cmd() {+ local GHCVER=$1++ # TODO: mount /hsci/src:ro (readonly)+ echo docker run \+ --tty \+ --interactive \+ --rm \+ --label haskell-ci \+ --volume "$(pwd):/hsci/src" \+ $CABALSTOREARG \+ $CABALREPOARG \+ --tmpfs /tmp:exec \+ --tmpfs /hsci/build:exec \+ --workdir /hsci/build \+ "phadej/ghc:$GHCVER-bionic" \+ "/bin/bash" "/hsci/src/$SCRIPT_NAME" indocker \+ --ghc-version "$GHCVER" \+ --cabal-update "$CFG_CABAL_UPDATE" \+ --start-time "$START_TIME"+}++# if we are not in docker, loop through jobs+if ! $INDOCKER; then+ for JOB in $CFG_JOBS; do+ put_info "Running in docker: $JOB"+ run_cmd $(echo_docker_cmd "$JOB")+ done++ run_cmd echo "ALL OK"+ exit 0+fi++# Otherwise we are in docker, and the rest of script executes+put_info "In docker"++# Environment+##############################################################################++GHCDIR=/opt/ghc/$GHC_VERSION++HC=$GHCDIR/bin/ghc+HCPKG=$GHCDIR/bin/ghc-pkg+HADDOCK=$GHCDIR/bin/haddock++CABAL=/opt/cabal/$CABAL_VERSION/bin/cabal++CABAL="$CABAL -vnormal+nowrap"++export CABAL_DIR+export CABAL_CONFIG="$BUILDDIR/cabal/config"++PATH="$CABAL_DIR/bin:$PATH"++# HCNUMVER+HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')+GHCJSARITH=0++put_info "HCNUMVER: $HCNUMVER"++# Args for shorter/nicer commands+if [ $((GHCJSARITH || ! GHCJSARITH)) -ne 0 ] ; then ARG_TESTS=--enable-tests; else ARG_TESTS=--disable-tests; fi+if [ $((GHCJSARITH || ! GHCJSARITH)) -ne 0 ] ; then ARG_BENCH=--enable-benchmarks; else ARG_BENCH=--disable-benchmarks; fi+ARG_COMPILER="--ghc --with-compiler=$HC"++put_info "tests/benchmarks: $ARG_TESTS $ARG_BENCH"++# Apt dependencies+##############################################################################+++# Cabal config+##############################################################################++mkdir -p $BUILDDIR/cabal++cat > $BUILDDIR/cabal/config <<EOF+remote-build-reporting: anonymous+write-ghc-environment-files: always+remote-repo-cache: $CABAL_REPOCACHE+logs-dir: $CABAL_DIR/logs+world-file: $CABAL_DIR/world+extra-prog-path: $CABAL_DIR/bin+symlink-bindir: $CABAL_DIR/bin+installdir: $CABAL_DIR/bin+build-summary: $CABAL_DIR/logs/build.log+store-dir: $CABAL_STOREDIR+install-dirs user+ prefix: $CABAL_DIR+repository hackage.haskell.org+ url: http://hackage.haskell.org/+EOF++if $HEADHACKAGE; then+ put_error "head.hackage is not implemented"+ exit 1+fi++run_cmd cat "$BUILDDIR/cabal/config"++# Version+##############################################################################++put_info "Versions"+run_cmd $HC --version+run_cmd_unchecked $HC --print-project-git-commit-id+run_cmd $CABAL --version++# Build script+##############################################################################++# update cabal index+if $CABAL_UPDATE; then+ put_info "Updating Hackage index"+ run_cmd $CABAL v2-update -v+fi++# install cabal-plan+install_cabalplan+run_cmd cabal-plan --version++# initial cabal.project for sdist+put_info "initial cabal.project for sdist"+change_dir "$BUILDDIR"+run_cmd touch cabal.project+echo_to cabal.project "packages: $SRCDIR/splitmix"+run_cmd cat cabal.project++# sdist+put_info "sdist"+run_cmd mkdir -p "$BUILDDIR/sdist"+run_cmd $CABAL sdist all --output-dir "$BUILDDIR/sdist"++# unpack+put_info "unpack"+change_dir "$BUILDDIR"+run_cmd mkdir -p "$BUILDDIR/unpacked"+run_cmd find "$BUILDDIR/sdist" -maxdepth 1 -type f -name '*.tar.gz' -exec tar -C "$BUILDDIR/unpacked" -xzvf {} \;++# generate cabal.project+put_info "generate cabal.project"+PKGDIR_splitmix="$(find "$BUILDDIR/unpacked" -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')"+run_cmd touch cabal.project+run_cmd touch cabal.project.local+echo_to cabal.project "packages: ${PKGDIR_splitmix}"+echo_if_to $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) cabal.project "package splitmix"+echo_if_to $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) cabal.project " ghc-options: -Werror=missing-methods"+cat >> cabal.project <<EOF+EOF+$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(splitmix)$/; }' >> 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_if $((! GHCJSARITH)) $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct++# cabal check+put_info "cabal check"+change_dir "${PKGDIR_splitmix}"+run_cmd ${CABAL} -vnormal check+change_dir "$BUILDDIR"++# haddock+put_info "haddock"+run_cmd_if $((! GHCJSARITH)) $CABAL v2-haddock $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
+ fixtures/enabled-jobs.github view
@@ -0,0 +1,355 @@+# SUCCESS+# *INFO* Generating GitHub 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 ghcjs-8.4+# This GitHub workflow config has been generated by a script via+#+# haskell-ci '--enabled-jobs=>=8' 'github' 'enabled-jobs.project'+#+# To regenerate the script (for example after adjusting tested-with) run+#+# haskell-ci regenerate+#+# For more information, see https://github.com/haskell-CI/haskell-ci+#+# REGENDATA ["--enabled-jobs=>=8","github","enabled-jobs.project"]+#+name: Haskell-CI+on:+ - push+ - pull_request+jobs:+ linux:+ name: Haskell-CI - Linux - ${{ matrix.compiler }}+ runs-on: ubuntu-18.04+ timeout-minutes:+ 60+ container:+ image: buildpack-deps:bionic+ continue-on-error: ${{ matrix.allow-failure }}+ strategy:+ matrix:+ include:+ - compiler: ghcjs-8.4+ compilerKind: ghcjs+ compilerVersion: "8.4"+ setup-method: hvr-ppa+ allow-failure: false+ - compiler: ghc-9.2.1+ compilerKind: ghc+ compilerVersion: 9.2.1+ setup-method: ghcup+ allow-failure: false+ - compiler: ghc-9.0.2+ compilerKind: ghc+ compilerVersion: 9.0.2+ setup-method: ghcup+ allow-failure: false+ - compiler: ghc-9.0.1+ compilerKind: ghc+ compilerVersion: 9.0.1+ setup-method: hvr-ppa+ allow-failure: false+ - 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+ fail-fast: false+ steps:+ - name: Set GHCJS environment variables+ run: |+ if [ $HCKIND = ghcjs ]; then+ echo "GHCJS=true" >> "$GITHUB_ENV"+ echo "GHCJSARITH=1" >> "$GITHUB_ENV"+ else+ echo "GHCJS=false" >> "$GITHUB_ENV"+ echo "GHCJSARITH=0" >> "$GITHUB_ENV"+ fi+ env:+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }}+ - 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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'+ if [ $((GHCJSARITH)) -ne 0 ] ; then apt-add-repository -y 'ppa:hvr/ghcjs' ; fi+ if [ $((GHCJSARITH)) -ne 0 ] ; then curl -sSL "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" | apt-key add - ; fi+ if [ $((GHCJSARITH)) -ne 0 ] ; then apt-add-repository -y 'deb https://deb.nodesource.com/node_10.x bionic main' ; fi+ apt-get update+ if [ $((GHCJSARITH)) -ne 0 ] ; then apt-get install -y "$HCNAME" ghc-8.4.4 nodejs ; else apt-get install -y "$HCNAME" ; fi+ mkdir -p "$HOME/.ghcup/bin"+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$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+ if [ $((GHCJSARITH)) -ne 0 ] ; then echo "/opt/ghc/8.4.4/bin" >> $GITHUB_PATH ; fi+ 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"+ 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 <<EOF+ remote-build-reporting: anonymous+ write-ghc-environment-files: never+ remote-repo-cache: $CABAL_DIR/packages+ logs-dir: $CABAL_DIR/logs+ world-file: $CABAL_DIR/world+ extra-prog-path: $CABAL_DIR/bin+ symlink-bindir: $CABAL_DIR/bin+ installdir: $CABAL_DIR/bin+ build-summary: $CABAL_DIR/logs/build.log+ store-dir: $CABAL_DIR/store+ install-dirs user+ prefix: $CABAL_DIR+ repository hackage.haskell.org+ url: http://hackage.haskell.org/+ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF+ cat $CABAL_CONFIG+ - name: versions+ run: |+ $HC --version || true+ $HC --print-project-git-commit-id || true+ $CABAL --version || true+ if [ $((GHCJSARITH)) -ne 0 ] ; then node --version ; fi+ if [ $((GHCJSARITH)) -ne 0 ] ; then echo $GHCJS ; fi+ - name: update cabal index+ run: |+ $CABAL v2-update -v+ - name: install cabal-plan+ run: |+ mkdir -p $HOME/.cabal/bin+ curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > 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/splitmix" >> 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_splitmix="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')"+ echo "PKGDIR_splitmix=${PKGDIR_splitmix}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local+ touch cabal.project+ touch cabal.project.local+ echo "packages: ${PKGDIR_splitmix}" >> cabal.project+ if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo "package splitmix" >> cabal.project ; fi+ if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi+ cat >> cabal.project <<EOF+ EOF+ $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(splitmix)$/; }' >> 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: |+ if [ $((! GHCJSARITH)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct ; fi+ - name: cabal check+ run: |+ cd ${PKGDIR_splitmix} || false+ ${CABAL} -vnormal check+ - name: haddock+ run: |+ if [ $((! GHCJSARITH)) -ne 0 ] ; then $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all ; fi+ - name: unconstrained build+ run: |+ rm -f cabal.project.local+ $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
+ fixtures/enabled-jobs.project view
@@ -0,0 +1,1 @@+packages: splitmix
+ fixtures/enabled-jobs.travis view
@@ -0,0 +1,229 @@+# SUCCESS+# *INFO* Generating Travis-CI config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 ghcjs-8.4+# This Travis job script has been generated by a script via+#+# haskell-ci '--enabled-jobs=>=8' 'travis' 'enabled-jobs.project'+#+# To regenerate the script (for example after adjusting tested-with) run+#+# haskell-ci regenerate+#+# For more information, see https://github.com/haskell-CI/haskell-ci+#+version: ~> 1.0+language: c+os: linux+dist: 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: ghcjs-8.4+ addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu bionic main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x bionic main"}]}}+ os: linux+ - compiler: ghc-9.2.1+ addons: {"apt":{"packages":["ghc-9.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-9.0.2+ addons: {"apt":{"packages":["ghc-9.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-9.0.1+ addons: {"apt":{"packages":["ghc-9.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-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+before_install:+ - |+ if echo $CC | grep -q ghcjs; then+ GHCJS=true; GHCJSARITH=1;+ else+ GHCJS=false; GHCJSARITH=0;+ fi+ - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')+ - WITHCOMPILER="-w $HC"+ - if [ $((GHCJSARITH)) -ne 0 ] ; then HC=${HC}js ; fi+ - if [ $((GHCJSARITH)) -ne 0 ] ; then WITHCOMPILER="--ghcjs ${WITHCOMPILER}js" ; fi+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')+ - if [ $((GHCJSARITH)) -ne 0 ] ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi+ - HCPKG="$HC-pkg"+ - unset CC+ - CABAL=/opt/ghc/bin/cabal+ - CABALHOME=$HOME/.cabal+ - export PATH="$CABALHOME/bin:$PATH"+ - TOP=$(pwd)+ - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')"+ - echo $HCNUMVER+ - CABAL="$CABAL -vnormal+nowrap"+ - set -o pipefail+ - TEST=--enable-tests+ - BENCH=--enable-benchmarks+ - HEADHACKAGE=false+ - 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 '?')]"+ - node --version+ - echo $GHCJS+ - |+ echo "program-default-options" >> $CABALHOME/config+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config+ - cat $CABALHOME/config+ - rm -fv cabal.project cabal.project.local cabal.project.freeze+ - travis_retry ${CABAL} v2-update -v+ # Generate cabal.project+ - rm -rf cabal.project cabal.project.local cabal.project.freeze+ - touch cabal.project+ - |+ echo "packages: splitmix" >> cabal.project+ - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi+ - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"+ - ""+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"+ - cat cabal.project || true+ - cat cabal.project.local || true+ - if [ -f "splitmix/configure.ac" ]; then (cd "splitmix" && autoreconf -i); fi+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}+ - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"+ - rm cabal.project.freeze+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all+script:+ - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)+ # Packaging...+ - ${CABAL} v2-sdist all+ # Unpacking...+ - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/+ - cd ${DISTDIR} || false+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;+ - PKGDIR_splitmix="$(find . -maxdepth 1 -type d -regex '.*/splitmix-[0-9.]*')"+ # Generate cabal.project+ - rm -rf cabal.project cabal.project.local cabal.project.freeze+ - touch cabal.project+ - |+ echo "packages: ${PKGDIR_splitmix}" >> cabal.project+ - if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi+ - "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"+ - ""+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"+ - cat cabal.project || true+ - cat cabal.project.local || true+ # Building...+ # this builds all libraries and executables (without tests/benchmarks)+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all+ # Building with tests and benchmarks...+ # build & run tests, build benchmarks+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always+ # Testing...+ - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct ; fi+ # cabal check...+ - (cd ${PKGDIR_splitmix} && ${CABAL} -vnormal check)+ # haddock...+ - if [ $((! GHCJSARITH)) -ne 0 ] ; then ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all ; fi+ # Building without installed constraints for packages in global-db...+ - rm -f cabal.project.local+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all++# REGENDATA ["--enabled-jobs=>=8","travis","enabled-jobs.project"]+# EOF
fixtures/irc-channels.args view
@@ -1,1 +1,1 @@---irc-channels=chat.freenode.net#mychannel+--irc-channels=irc.libera.chat#mychannel
fixtures/irc-channels.bash view
@@ -1,8 +1,8 @@ # 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+# *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 ["--irc-channels=chat.freenode.net#mychannel","bash","irc-channels.project"]+# REGENDATA ["--irc-channels=irc.libera.chat#mychannel","bash","irc-channels.project"] set -o pipefail @@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/irc-channels.github view
@@ -1,8 +1,8 @@ # 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+# *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 '--irc-channels=chat.freenode.net#mychannel' 'github' 'irc-channels.project'+# haskell-ci '--irc-channels=irc.libera.chat#mychannel' 'github' 'irc-channels.project' # # To regenerate the script (for example after adjusting tested-with) run #@@ -10,7 +10,7 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci #-# REGENDATA ["--irc-channels=chat.freenode.net#mychannel","github","irc-channels.project"]+# REGENDATA ["--irc-channels=irc.libera.chat#mychannel","github","irc-channels.project"] # name: Haskell-CI on:@@ -23,123 +23,250 @@ needs: - linux if: ${{ always() }}+ timeout-minutes:+ 10 strategy: fail-fast: false steps:- - name: IRC success notification (chat.freenode.net#mychannel)+ - name: IRC success notification (irc.libera.chat#mychannel) uses: Gottox/irc-message-action@v1.1 if: needs.linux.result == 'success' with: channel: "#mychannel" message: "\x0313servant\x03/\x0306${{ github.ref }}\x03 \x0314${{ github.sha }}\x03 https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} The build succeeded." nickname: github-actions- server: chat.freenode.net- - name: IRC failure notification (chat.freenode.net#mychannel)+ server: irc.libera.chat+ - name: IRC failure notification (irc.libera.chat#mychannel) uses: Gottox/irc-message-action@v1.1 if: needs.linux.result != 'success' with: channel: "#mychannel" message: "\x0313servant\x03/\x0306${{ github.ref }}\x03 \x0314${{ github.sha }}\x03 https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} The build failed." nickname: github-actions- server: chat.freenode.net+ server: irc.libera.chat linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ 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:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -162,6 +289,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -200,7 +331,8 @@ - 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+ 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
fixtures/irc-channels.travis view
@@ -1,8 +1,8 @@ # 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+# *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 '--irc-channels=chat.freenode.net#mychannel' 'travis' 'irc-channels.project'+# haskell-ci '--irc-channels=irc.libera.chat#mychannel' 'travis' 'irc-channels.project' # # To regenerate the script (for example after adjusting tested-with) run #@@ -13,14 +13,14 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false notifications: irc: channels:- - chat.freenode.net#mychannel+ - irc.libera.chat#mychannel skip_join: true template: - "\x0313servant\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}"@@ -40,89 +40,98 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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/-/\//')@@ -174,7 +183,7 @@ 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@@ -201,7 +210,7 @@ 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@@ -221,5 +230,5 @@ - rm -f cabal.project.local - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all -# REGENDATA ["--irc-channels=chat.freenode.net#mychannel","travis","irc-channels.project"]+# REGENDATA ["--irc-channels=irc.libera.chat#mychannel","travis","irc-channels.project"] # EOF
fixtures/messy.bash view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating Bash script 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+# *INFO* Generating Bash script 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 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["--ghc-head","--apt=fftw3-dev","--installed=-all +deepseq","bash","messy.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/messy.github view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating GitHub 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+# *INFO* Generating GitHub 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 # This GitHub workflow config has been generated by a script via # # haskell-ci '--ghc-head' '--apt=fftw3-dev' '--installed=-all +deepseq' 'github' 'messy.project'@@ -20,101 +20,228 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4 fftw3-dev+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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+ apt-get update+ apt-get install -y fftw3-dev+ else+ apt-add-repository -y 'ppa:hvr/ghc'+ apt-get update+ apt-get install -y "$HCNAME" fftw3-dev+ mkdir -p "$HOME/.ghcup/bin"+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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- if [ $((HCNUMVER > 81004)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> $GITHUB_ENV ; else echo "HEADHACKAGE=false" >> $GITHUB_ENV ; fi- echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"+ echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"+ echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"+ if [ $((HCNUMVER > 81007)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi+ echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"+ echo "GHCJSARITH=0" >> "$GITHUB_ENV" env:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -148,6 +275,10 @@ key-threshold: 3 EOF fi+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -189,13 +320,14 @@ - 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+ echo "PKGDIR_servant=${PKGDIR_servant}" >> "$GITHUB_ENV" PKGDIR_servant_client="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-client-[0-9.]*')"- echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> $GITHUB_ENV+ echo "PKGDIR_servant_client=${PKGDIR_servant_client}" >> "$GITHUB_ENV" PKGDIR_servant_docs="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-docs-[0-9.]*')"- echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> $GITHUB_ENV+ echo "PKGDIR_servant_docs=${PKGDIR_servant_docs}" >> "$GITHUB_ENV" PKGDIR_servant_server="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/servant-server-[0-9.]*')"- echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> $GITHUB_ENV+ echo "PKGDIR_servant_server=${PKGDIR_servant_server}" >> "$GITHUB_ENV"+ rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local echo "packages: ${PKGDIR_servant}" >> cabal.project
fixtures/messy.travis view
@@ -1,5 +1,5 @@ # SUCCESS-# *INFO* Generating Travis-CI 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+# *INFO* Generating Travis-CI 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 # This Travis job script has been generated by a script via # # haskell-ci '--ghc-head' '--apt=fftw3-dev' '--installed=-all +deepseq' 'travis' 'messy.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -33,92 +33,101 @@ - rm -rfv $CABALHOME/packages/head.hackage jobs: include:+ - compiler: ghc-8.10.7+ addons: {"apt":{"packages":["ghc-8.10.7","cabal-install-3.6","fftw3-dev"],"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","fftw3-dev"],"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","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.10.4","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.10.3","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.10.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.10.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.8.4","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.8.3","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.8.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.8.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.6.5","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.6.4","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.6.3","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.6.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.6.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.4.4","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.4.3","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.4.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.4.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.2.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.2.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.0.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-8.0.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.10.3","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.10.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.10.1","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.8.4","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.8.3","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.8.2","cabal-install-3.6","fftw3-dev"],"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.4","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-7.8.1","cabal-install-3.6","fftw3-dev"],"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-head- addons: {"apt":{"packages":["ghc-head","cabal-install-head","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ addons: {"apt":{"packages":["ghc-head","cabal-install-head","fftw3-dev"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}} os: linux allow_failures: - compiler: ghc-head@@ -139,7 +148,7 @@ - TEST=--enable-tests - BENCH=--enable-benchmarks - HEADHACKAGE=false- - if [ $((HCNUMVER > 81004)) -ne 0 ] ; then HEADHACKAGE=true ; fi+ - if [ $((HCNUMVER > 81007)) -ne 0 ] ; then HEADHACKAGE=true ; fi - rm -f $CABALHOME/config - | echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config@@ -192,7 +201,7 @@ - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"- - |+ - "" - | if $HEADHACKAGE; then echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config@@ -238,7 +247,7 @@ - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi" - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package servant-server' >> cabal.project ; fi - "if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"- - |+ - "" - | if $HEADHACKAGE; then echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config
fixtures/psql.bash view
@@ -1,5 +1,5 @@ # 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+# *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 ["--postgresql","bash","psql.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/psql.github view
@@ -1,5 +1,5 @@ # 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+# *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 '--postgresql' 'github' 'psql.project'@@ -20,8 +20,10 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ image: buildpack-deps:bionic services: postgres: image: postgres:10@@ -32,95 +34,218 @@ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ 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:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -143,6 +268,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -181,7 +310,8 @@ - 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+ 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
fixtures/psql.travis view
@@ -1,5 +1,5 @@ # 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+# *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 '--postgresql' 'travis' 'psql.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -37,89 +37,98 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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/-/\//')@@ -171,7 +180,7 @@ 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@@ -198,7 +207,7 @@ 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
fixtures/travis-patch.bash view
@@ -1,5 +1,5 @@ # 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+# *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 ["--travis-patches=travis-patch.patch","bash","travis-patch.project"]@@ -21,7 +21,7 @@ CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE=""-CFG_JOBS="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_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")
fixtures/travis-patch.github view
@@ -1,5 +1,5 @@ # 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+# *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 '--travis-patches=travis-patch.patch' 'github' 'travis-patch.project'@@ -20,101 +20,226 @@ linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04+ timeout-minutes:+ 60 container:- image: buildpack-deps:xenial+ 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- apt-add-repository -y 'ppa:hvr/ghc'- apt-get update- apt-get install -y $CC cabal-install-3.4+ 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.3/x86_64-linux-ghcup-0.1.17.3 > "$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.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"+ chmod a+x "$HOME/.ghcup/bin/ghcup"+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0+ fi env:- CC: ${{ matrix.compiler }}+ 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=$(echo "/opt/$CC" | sed 's/-/\//')- HCNAME=ghc- HC=$HCDIR/bin/$HCNAME- echo "HC=$HC" >> $GITHUB_ENV- echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV- echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV+ 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=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV- echo "GHCJSARITH=0" >> $GITHUB_ENV+ 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:- CC: ${{ matrix.compiler }}+ HCKIND: ${{ matrix.compilerKind }}+ HCNAME: ${{ matrix.compiler }}+ HCVER: ${{ matrix.compilerVersion }} - name: env run: | env@@ -137,6 +262,10 @@ repository hackage.haskell.org url: http://hackage.haskell.org/ EOF+ cat >> $CABAL_CONFIG <<EOF+ program-default-options+ ghc-options: $GHCJOBS +RTS -M3G -RTS+ EOF cat $CABAL_CONFIG - name: versions run: |@@ -175,7 +304,8 @@ - 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+ 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
fixtures/travis-patch.patch view
@@ -5,7 +5,7 @@ @@ -8,7 +8,7 @@ # language: c- dist: xenial+ dist: bionic -git: + git: # whether to recursively clone submodules
fixtures/travis-patch.travis view
@@ -1,5 +1,5 @@ # 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+# *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 '--travis-patches=travis-patch.patch' 'travis' 'travis-patch.project'@@ -13,7 +13,7 @@ version: ~> 1.0 language: c os: linux-dist: xenial+dist: bionic git: # whether to recursively clone submodules submodules: false@@ -33,89 +33,98 @@ - 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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.4"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main"}]}}+ 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/-/\//')@@ -167,7 +176,7 @@ 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@@ -194,7 +203,7 @@ 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
haskell-ci.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: haskell-ci-version: 0.12.1+version: 0.14 synopsis: Cabal package script generator for Travis-CI description: Script generator (@haskell-ci@) for@@ -33,7 +33,7 @@ category: Development build-type: Simple tested-with:- GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.4 || ==9.0.1+ GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.4 || ==8.10.7 || ==9.0.2 || ==9.2.1 extra-source-files: CHANGELOG.md extra-source-files:@@ -82,6 +82,7 @@ HaskellCI.Config.Docspec HaskellCI.Config.Doctest HaskellCI.Config.Dump+ HaskellCI.Config.Empty HaskellCI.Config.Folds HaskellCI.Config.HLint HaskellCI.Config.Installed@@ -132,10 +133,10 @@ ViewPatterns build-depends:- , base >=4.10 && <4.16+ , base >=4.10 && <4.17 , binary ^>=0.8.5.1- , bytestring ^>=0.10.8.1- , Cabal ^>=3.4+ , bytestring ^>=0.10.8.1 || ^>=0.11.1.0+ , Cabal ^>=3.6.0.0 , containers ^>=0.5.7.1 || ^>=0.6.0.1 , deepseq ^>=1.4.2.0 , directory ^>=1.3.0.0@@ -152,11 +153,11 @@ -- other dependencies build-depends:- , aeson ^>=1.5.6.0- , attoparsec ^>=0.13.2.4- , base-compat ^>=0.11+ , aeson ^>=1.5.6.0 || ^>=2.0.0.0+ , attoparsec ^>=0.14.1+ , base-compat ^>=0.11 || ^>=0.12 , base16-bytestring ^>=1.0.1.0- , cabal-install-parsers ^>=0.4.1+ , cabal-install-parsers ^>=0.4.4 , cryptohash-sha256 ^>=0.11.101.0 , exceptions ^>=0.10.0 , generic-lens-lite ^>=0.1@@ -173,7 +174,7 @@ -- ShellCheck. Would need newer transformers for older GHC if flag(shellcheck)- build-depends: ShellCheck ==0.7.1+ build-depends: ShellCheck ==0.7.2 executable haskell-ci main-is: Main.hs
src/HaskellCI.hs view
@@ -33,7 +33,7 @@ import System.Environment (getArgs) import System.Exit (ExitCode (..), exitFailure) import System.FilePath.Posix (takeDirectory)-import System.IO (hClose, hFlush, hPutStrLn, stderr)+import System.IO (hClose, hPutStrLn, stderr) import System.IO.Temp (withSystemTempFile) import System.Process (readProcessWithExitCode) @@ -61,6 +61,7 @@ import HaskellCI.Diagnostics import HaskellCI.GitConfig import HaskellCI.GitHub+import HaskellCI.HeadHackage import HaskellCI.Jobs import HaskellCI.Package import HaskellCI.TestedWith@@ -406,9 +407,8 @@ | otherwise = withSystemTempFile "yml.tmp" $ \fp h -> liftIO $ do BS.hPutStr h input- hFlush h- for_ patches $ applyPatch fp hClose h+ for_ patches $ applyPatch fp BS.readFile fp where applyPatch :: FilePath -- ^ The temporary file path to patch
src/HaskellCI/Auxiliary.hs view
@@ -52,8 +52,8 @@ uris = prjUriPackages prj projectName = fromMaybe (pkgName $ Prelude.head pkgs) cfgProjectName - doctestEnabled = any (maybeGHC False (`C.withinRange` cfgDoctestEnabled cfgDoctest)) versions- docspecEnabled = any (maybeGHC False (`C.withinRange` cfgDocspecEnabled cfgDocspec)) versions+ doctestEnabled = any (maybeGHC False (`C.withinRange` cfgDoctestEnabled cfgDoctest)) linuxVersions+ docspecEnabled = any (maybeGHC False (`C.withinRange` cfgDocspecEnabled cfgDocspec)) linuxVersions testShowDetails | cfgTestOutputDirect = " --test-show-details=direct"
src/HaskellCI/Bash.hs view
@@ -52,7 +52,7 @@ when doctestEnabled $ step "install doctest" $ do let range = Range (cfgDoctestEnabled cfgDoctest) /\ doctestJobVersionRange comment "install doctest"- run_cmd_if range "$CABAL v2-install $ARG_COMPILER --ignore-project -j doctest --constraint='doctest ^>=0.17'"+ run_cmd_if range "$CABAL v2-install $ARG_COMPILER --ignore-project -j doctest --constraint='doctest ^>=0.20'" run_cmd_if range "doctest --version" -- install hlint@@ -167,8 +167,8 @@ -- removing the vowels to make filepaths shorter let manglePkgNames :: String -> [String] manglePkgNames n- | null cfgOsx = [n]- | otherwise = [n, filter notVowel n]+ | null macosVersions = [n]+ | otherwise = [n, filter notVowel n] where notVowel c = notElem c ("aeiou" :: String) let filterPkgs = intercalate "|" $ concatMap (manglePkgNames . C.unPackageName) $ cfgDoctestFilterEnvPkgs cfgDoctest@@ -222,6 +222,7 @@ let allFlags = unwords (testFlag : benchFlag : constraintFlags) put_info $ "constraint set " ++ name+ run_cmd_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " --dependencies-only -j all" run_cmd_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " all" when (csRunTests cs) $ run_cmd_cs' hasTests $ "$CABAL v2-test $ARG_COMPILER " ++ allFlags ++ " all"@@ -231,12 +232,12 @@ return defaultZ { zJobs = [ prettyShow v- | GHC v <- reverse $ toList versions+ | GHC v <- reverse $ toList linuxVersions ] , zBlocks = blocks , zApt = S.toList cfgApt- , zTestsCond = compilerVersionArithPredicate versions $ Range cfgTests- , zBenchCond = compilerVersionArithPredicate versions $ Range cfgBenchmarks+ , zTestsCond = compilerVersionArithPredicate linuxVersions $ Range cfgTests+ , zBenchCond = compilerVersionArithPredicate linuxVersions $ Range cfgBenchmarks } where Auxiliary {..} = auxiliary config prj jobs@@ -256,11 +257,11 @@ change_dir_if :: CompilerRange -> String -> ShM () change_dir_if vr dir- | all (`compilerWithinRange` vr) versions = change_dir dir- | not $ any (`compilerWithinRange` vr) versions = pure ()+ | all (`compilerWithinRange` vr) linuxVersions = change_dir dir+ | not $ any (`compilerWithinRange` vr) linuxVersions = pure () | otherwise = sh $ unwords [ "change_dir_if"- , compilerVersionArithPredicate versions vr+ , compilerVersionArithPredicate linuxVersions vr , dir ] @@ -272,25 +273,25 @@ run_cmd_if :: CompilerRange -> String -> ShM () run_cmd_if vr cmd- | all (`compilerWithinRange` vr) versions = run_cmd cmd- | not $ any (`compilerWithinRange` vr) versions = pure ()+ | all (`compilerWithinRange` vr) linuxVersions = run_cmd cmd+ | not $ any (`compilerWithinRange` vr) linuxVersions = pure () | otherwise = sh $ unwords [ "run_cmd_if"- , compilerVersionArithPredicate versions vr+ , compilerVersionArithPredicate linuxVersions vr , cmd ] echo_if_to :: CompilerRange -> FilePath -> String -> ShM () echo_if_to vr path contents- | all (`compilerWithinRange` vr) versions = sh $ unwords+ | all (`compilerWithinRange` vr) linuxVersions = sh $ unwords [ "echo_to" , path , show contents ]- | not $ any (`compilerWithinRange` vr) versions = pure ()+ | not $ any (`compilerWithinRange` vr) linuxVersions = pure () | otherwise = sh $ unwords [ "echo_if_to"- , compilerVersionArithPredicate versions vr+ , compilerVersionArithPredicate linuxVersions vr , path , show contents ]
src/HaskellCI/Compiler.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wno-deprecations #-} -- | This module encodes what we know about GHC, including existing/supported versions. module HaskellCI.Compiler ( -- * Compiler version@@ -6,6 +7,9 @@ isGHCJS, maybeGHCJS, previewGHC,+ -- ** Selectors+ compilerKind,+ compilerVersion, -- * Compiler version range CompilerRange (..), compilerWithinRange,@@ -25,7 +29,8 @@ import HaskellCI.Prelude -import Distribution.Version (hasUpperBound, invertVersionRange, versionNumbers, withinRange)+import Distribution.Types.VersionInterval.Legacy (fromVersionIntervals, invertVersionIntervals, toVersionIntervals)+import Distribution.Version (hasUpperBound, versionNumbers, withinRange) import qualified Data.Set as S import qualified Distribution.Pretty as C@@ -53,6 +58,20 @@ maybeGHCJS _ = Nothing -------------------------------------------------------------------------------+-- String selectors+-------------------------------------------------------------------------------++compilerKind :: CompilerVersion -> String+compilerKind GHCHead = "ghc"+compilerKind (GHC _) = "ghc"+compilerKind (GHCJS _) = "ghcjs"++compilerVersion :: CompilerVersion -> String+compilerVersion GHCHead = "head"+compilerVersion (GHC v) = C.prettyShow v+compilerVersion (GHCJS v) = C.prettyShow v++------------------------------------------------------------------------------- -- CompilerRange ------------------------------------------------------------------------------- @@ -97,6 +116,9 @@ invertCompilerRange (RangeUnion a b) = RangeInter (invertCompilerRange a) (invertCompilerRange b) invertCompilerRange (RangePoints vs) = RangePoints (S.difference allCompilerVersions vs) +invertVersionRange :: VersionRange -> VersionRange+invertVersionRange = fromVersionIntervals . invertVersionIntervals . toVersionIntervals+ ------------------------------------------------------------------------------- -- Known versions -------------------------------------------------------------------------------@@ -114,8 +136,9 @@ , [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]- , [9,0,1]+ , [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] ] knownGhcjsVersions :: [Version]
src/HaskellCI/Config.hs view
@@ -29,19 +29,22 @@ import HaskellCI.Config.CopyFields import HaskellCI.Config.Docspec import HaskellCI.Config.Doctest+import HaskellCI.Config.Empty import HaskellCI.Config.Folds import HaskellCI.Config.HLint import HaskellCI.Config.Installed import HaskellCI.Config.Jobs import HaskellCI.Config.PackageScope import HaskellCI.Config.Ubuntu+import HaskellCI.HeadHackage import HaskellCI.Newtypes import HaskellCI.OptionsGrammar import HaskellCI.ParsecUtils import HaskellCI.TestedWith -defaultHeadHackage :: VersionRange-defaultHeadHackage = C.orLaterVersion (C.mkVersion [9,1])+-------------------------------------------------------------------------------+-- Config+------------------------------------------------------------------------------- -- TODO: split other blocks like DoctestConfig data Config = Config@@ -49,6 +52,7 @@ , cfgJobs :: Maybe Jobs , cfgUbuntu :: !Ubuntu , cfgTestedWith :: !TestedWithJobs+ , cfgEnabledJobs :: !VersionRange , cfgCopyFields :: !CopyFields , cfgLocalGhcOptions :: [String] , cfgSubmodules :: !Bool@@ -68,6 +72,8 @@ , cfgCheck :: !Bool , cfgOnlyBranches :: [String] , cfgIrcChannels :: [String]+ , cfgIrcNickname :: Maybe String+ , cfgIrcPassword :: Maybe String , cfgIrcIfInOriginRepo :: Bool , cfgEmailNotifications :: Bool , cfgProjectName :: Maybe String@@ -78,7 +84,11 @@ , cfgEnv :: M.Map Version String , cfgAllowFailures :: !VersionRange , cfgLastInSeries :: !Bool- , cfgOsx :: S.Set Version+ , cfgLinuxJobs :: !VersionRange+ , cfgMacosJobs :: !VersionRange+ , cfgGhcupCabal :: !Bool+ , cfgGhcupJobs :: !VersionRange+ , cfgGhcupVersion :: !Version , cfgApt :: S.Set String , cfgTravisPatches :: [FilePath] , cfgGitHubPatches :: [FilePath]@@ -91,61 +101,20 @@ , cfgRawProject :: [C.PrettyField ()] , cfgRawTravis :: !String , cfgGitHubActionName :: !(Maybe String)+ , cfgTimeoutMinutes :: !Natural } deriving (Generic) defaultCabalInstallVersion :: Maybe Version-defaultCabalInstallVersion = Just (C.mkVersion [3,4])+defaultCabalInstallVersion = Just (C.mkVersion [3,6]) +defaultGhcupVersion :: Version+defaultGhcupVersion = C.mkVersion [0,1,17,3]+ emptyConfig :: Config-emptyConfig = Config- { cfgCabalInstallVersion = defaultCabalInstallVersion- , cfgJobs = Nothing- , cfgUbuntu = Xenial- , cfgTestedWith = TestedWithUniform- , cfgCopyFields = CopyFieldsSome- , cfgDoctest = defaultDoctestConfig- , cfgDocspec = defaultDocspecConfig- , cfgHLint = defaultHLintConfig- , cfgLocalGhcOptions = []- , cfgConstraintSets = []- , cfgSubmodules = False- , cfgCache = True- , cfgInstalled = []- , cfgInstallDeps = True- , cfgTests = anyVersion- , cfgRunTests = anyVersion- , cfgBenchmarks = anyVersion- , cfgHaddock = anyVersion- , cfgNoTestsNoBench = anyVersion- , cfgUnconstrainted = anyVersion- , cfgHeadHackage = defaultHeadHackage- , cfgGhcjsTests = False- , cfgGhcjsTools = []- , cfgTestOutputDirect = True- , cfgCheck = True- , cfgOnlyBranches = []- , cfgIrcChannels = []- , cfgIrcIfInOriginRepo = False- , cfgEmailNotifications = True- , cfgProjectName = Nothing- , cfgFolds = S.empty- , cfgGhcHead = False- , cfgPostgres = False- , cfgGoogleChrome = False- , cfgEnv = M.empty- , cfgAllowFailures = noVersion- , cfgLastInSeries = False- , cfgOsx = S.empty- , cfgApt = S.empty- , cfgTravisPatches = []- , cfgGitHubPatches = []- , cfgInsertVersion = True- , cfgRawProject = []- , cfgRawTravis = ""- , cfgGitHubActionName = Nothing- , cfgErrorMissingMethods = PackageScopeLocal- }+emptyConfig = case runEG configGrammar of+ Left xs -> error $ "Required fields: " ++ show xs+ Right x -> x ------------------------------------------------------------------------------- -- Grammar@@ -159,6 +128,8 @@ , c (Identity Ubuntu) , c (Identity Jobs) , c (Identity CopyFields)+ , c (Identity Version)+ , c (Identity Natural) , c Env, c Folds, c CopyFields, c HeadVersion , c (C.List C.FSep (Identity Installed) Installed) , Applicative (g DoctestConfig)@@ -170,10 +141,12 @@ ^^^ metahelp "VERSION" "cabal-install version for all jobs" <*> C.optionalField "jobs" (field @"cfgJobs") ^^^ metahelp "JOBS" "jobs (N:M - cabal:ghc)"- <*> C.optionalFieldDef "distribution" (field @"cfgUbuntu") Xenial+ <*> C.optionalFieldDef "distribution" (field @"cfgUbuntu") Bionic ^^^ metahelp "DIST" "distribution version (xenial, bionic)" <*> C.optionalFieldDef "jobs-selection" (field @"cfgTestedWith") TestedWithUniform ^^^ metahelp "uniform|any" "Jobs selection across packages"+ <*> rangeField "enabled" (field @"cfgEnabledJobs") anyVersion+ ^^^ metahelp "RANGE" "Restrict jobs selection futher from per package tested-with" <*> C.optionalFieldDef "copy-fields" (field @"cfgCopyFields") CopyFieldsSome ^^^ metahelp "none|some|all" "Copy ? fields from cabal.project fields" <*> C.monoidalFieldAla "local-ghc-options" (C.alaList' C.NoCommaFSep C.Token') (field @"cfgLocalGhcOptions")@@ -211,7 +184,11 @@ <*> C.monoidalFieldAla "branches" (C.alaList' C.FSep C.Token') (field @"cfgOnlyBranches") ^^^ metahelp "BRANCH" "Enable builds only for specific branches" <*> C.monoidalFieldAla "irc-channels" (C.alaList' C.FSep C.Token') (field @"cfgIrcChannels")- ^^^ metahelp "IRC" "Enable IRC notifications to given channel (e.g. 'irc.freenode.org#haskell-lens')"+ ^^^ metahelp "IRC" "Enable IRC notifications to given channel (e.g. 'irc.libera.chat#haskell-lens')"+ <*> C.freeTextField "irc-nickname" (field @"cfgIrcNickname")+ ^^^ metahelp "NICKNAME" "Nickname with which to authenticate to an IRC server. Only used if `irc-channels` are set."+ <*> C.freeTextField "irc-password" (field @"cfgIrcPassword")+ ^^^ metahelp "PASSWORD" "Password with which to authenticate to an IRC server. Only used if `irc-channels` are set." <*> C.booleanFieldDef "irc-if-in-origin-repo" (field @"cfgIrcIfInOriginRepo") False ^^^ help "Only send IRC notifications if run from the original remote (GitHub Actions only)" <*> C.booleanFieldDef "email-notifications" (field @"cfgEmailNotifications") True@@ -232,8 +209,16 @@ ^^^ metahelp "JOB" "Allow failures of particular GHC version" <*> C.booleanFieldDef "last-in-series" (field @"cfgLastInSeries") False ^^^ help "[Discouraged] Assume there are only GHCs last in major series: 8.2.* will match only 8.2.2"- <*> C.monoidalFieldAla "osx" (alaSet C.NoCommaFSep) (field @"cfgOsx")- ^^^ metahelp "JOB" "Jobs to additionally build with OSX"+ <*> rangeField "linux-jobs" (field @"cfgLinuxJobs") anyVersion+ ^^^ metahelp "RANGE" "Jobs to build on Linux"+ <*> rangeField "macos-jobs" (field @"cfgMacosJobs") noVersion+ ^^^ metahelp "RANGE" "Jobs to additionally build with OSX"+ <*> C.booleanFieldDef "ghcup-cabal" (field @"cfgGhcupCabal") True+ ^^^ help "Use (or don't) ghcup to install cabal"+ <*> rangeField "ghcup-jobs" (field @"cfgGhcupJobs") (C.unionVersionRanges (C.intersectVersionRanges (C.laterVersion (mkVersion [8,10,4])) (C.earlierVersion (mkVersion [9]))) (C.laterVersion (mkVersion [9,0,1])))+ ^^^ metahelp "RANGE" "(Linux) jobs to use ghcup to install tools"+ <*> C.optionalFieldDef "ghcup-version" (field @"cfgGhcupVersion") defaultGhcupVersion+ ^^^ metahelp "VERSION" "ghcup version" <*> C.monoidalFieldAla "apt" (alaSet' C.NoCommaFSep C.Token') (field @"cfgApt") ^^^ metahelp "PKG" "Additional apt packages to install" <*> C.monoidalFieldAla "travis-patches" (C.alaList' C.NoCommaFSep C.Token') (field @"cfgTravisPatches")@@ -253,6 +238,8 @@ ^^^ help "Raw travis commands which will be run at the very end of the script" <*> C.freeTextField "github-action-name" (field @"cfgGitHubActionName") ^^^ 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" ------------------------------------------------------------------------------- -- Reading
src/HaskellCI/Config/ConstraintSet.hs view
@@ -13,6 +13,7 @@ data ConstraintSet = ConstraintSet { csName :: String , csGhcVersions :: VersionRange+ , csGhcjs :: Bool , csConstraints :: [String] -- we parse these simply as strings , csTests :: Bool , csRunTests :: Bool@@ -22,9 +23,6 @@ } deriving (Show, Generic) -emptyConstraintSet :: String -> ConstraintSet-emptyConstraintSet n = ConstraintSet n anyVersion [] False False False False False- ------------------------------------------------------------------------------- -- Grammar -------------------------------------------------------------------------------@@ -35,6 +33,7 @@ => String -> g ConstraintSet ConstraintSet constraintSetGrammar name = ConstraintSet name <$> C.optionalFieldDef "ghc" (field @"csGhcVersions") anyVersion+ <*> C.booleanFieldDef "ghcjs" (field @"csGhcjs") True <*> C.monoidalFieldAla "constraints" (C.alaList' C.CommaVCat NoCommas) (field @"csConstraints") <*> C.booleanFieldDef "tests" (field @"csTests") False <*> C.booleanFieldDef "run-tests" (field @"csRunTests") False
src/HaskellCI/Config/Docspec.hs view
@@ -1,7 +1,10 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeApplications #-}-module HaskellCI.Config.Docspec where+module HaskellCI.Config.Docspec (+ DocspecConfig (..),+ docspecConfigGrammar,+) where import HaskellCI.Prelude @@ -25,8 +28,8 @@ defaultDocspecConfig = DocspecConfig { cfgDocspecEnabled = noVersion , cfgDocspecOptions = []- , cfgDocspecUrl = "https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20210111/cabal-docspec-0.0.0.20210111.xz"- , cfgDocspecHash = "0829bd034fba901cbcfe491d98ed8b28fd54f9cb5c91fa8e1ac62dc4413c9562"+ , cfgDocspecUrl = "https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20211114/cabal-docspec-0.0.0.20211114.xz"+ , cfgDocspecHash = "e224700d9e8c9ec7ec6bc3f542ba433cd9925a5d356676c62a9bd1f2c8be8f8a" } -------------------------------------------------------------------------------@@ -37,7 +40,7 @@ :: (OptionsGrammar c g, Applicative (g DocspecConfig)) => g DocspecConfig DocspecConfig docspecConfigGrammar = DocspecConfig- <$> rangeField "docspec" (field @"cfgDocspecEnabled") noVersion+ <$> rangeField "docspec" (field @"cfgDocspecEnabled") (cfgDocspecEnabled defaultDocspecConfig) ^^^ help "Enable Docspec job" <*> C.monoidalFieldAla "docspec-options" (C.alaList' C.NoCommaFSep C.Token') (field @"cfgDocspecOptions") ^^^ metahelp "OPTS" "Additional Docspec options"
src/HaskellCI/Config/Doctest.hs view
@@ -26,16 +26,7 @@ ------------------------------------------------------------------------------- defaultDoctestVersion :: VersionRange-defaultDoctestVersion = majorBoundVersion (mkVersion [0,17])--defaultDoctestConfig :: DoctestConfig-defaultDoctestConfig = DoctestConfig- { cfgDoctestEnabled = noVersion- , cfgDoctestOptions = []- , cfgDoctestVersion = defaultDoctestVersion- , cfgDoctestFilterEnvPkgs = []- , cfgDoctestFilterSrcPkgs = []- }+defaultDoctestVersion = majorBoundVersion (mkVersion [0,20,0]) ------------------------------------------------------------------------------- -- Grammar
+ src/HaskellCI/Config/Empty.hs view
@@ -0,0 +1,42 @@+{-# LANGUAGE FunctionalDependencies #-}+module HaskellCI.Config.Empty where++import HaskellCI.Prelude++import qualified Distribution.FieldGrammar as C+import qualified Distribution.Fields as C++import HaskellCI.OptionsGrammar++newtype EmptyGrammar s a = EG { runEG :: Either (NonEmpty C.FieldName) a }+ deriving Functor++instance Applicative (EmptyGrammar s) where+ pure x = EG (Right x)+ EG f <*> EG x = EG (apVal f x) where+ apVal (Right g) (Right y) = Right (g y)+ apVal (Right _) (Left y) = Left y+ apVal (Left g) (Right _) = Left g+ apVal (Left g) (Left y) = Left (g <> y)++instance C.FieldGrammar Typeable EmptyGrammar where+ blurFieldGrammar _ = coerce++ uniqueFieldAla fn _ _ = EG (Left (pure fn))+ booleanFieldDef _ _ def = EG (Right def)+ optionalFieldAla _ _ _ = EG (Right Nothing)+ optionalFieldDefAla _ _ _ def = EG (Right def)+ monoidalFieldAla _ _ _ = EG (Right mempty)++ freeTextField _ _ = EG (Right Nothing)+ freeTextFieldDef _ _ = EG (Right "")+ freeTextFieldDefST _ _ = EG (Right (fromString ""))++ prefixedFields _ _ = pure []+ knownField _ = pure ()+ deprecatedSince _ _ = id+ availableSince _ _ = id+ removedIn _ _ = id+ hiddenField = id++instance OptionsGrammar Typeable EmptyGrammar
src/HaskellCI/Config/HLint.hs view
@@ -33,16 +33,6 @@ defaultHLintVersion :: VersionRange defaultHLintVersion = withinVersion (mkVersion [3,3]) -defaultHLintConfig :: HLintConfig-defaultHLintConfig = HLintConfig- { cfgHLintEnabled = False- , cfgHLintJob = HLintJobLatest- , cfgHLintYaml = Nothing- , cfgHLintVersion = defaultHLintVersion- , cfgHLintOptions = []- , cfgHLintDownload = True- }- ------------------------------------------------------------------------------- -- HLintJob -------------------------------------------------------------------------------
src/HaskellCI/Config/Validity.hs view
@@ -17,4 +17,4 @@ when (anyGHCJS && cfgUbuntu > Bionic) $ throwErr $ ValidationError $ "Using GHCJS requires Ubuntu 16.04 (Xenial) or 18.04 (Bionic)." where- anyGHCJS = any isGHCJS versions+ anyGHCJS = any isGHCJS linuxVersions
src/HaskellCI/GitHub.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE MultiWayIf #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-}@@ -34,6 +35,7 @@ import HaskellCI.Config.Doctest import HaskellCI.Config.HLint import HaskellCI.Config.Installed+import HaskellCI.Config.Jobs import HaskellCI.Config.PackageScope import HaskellCI.Config.Ubuntu import HaskellCI.Config.Validity@@ -98,7 +100,9 @@ -> Either HsCiError GitHub makeGitHub _argv config@Config {..} gitconfig prj jobs@JobVersions {..} = do let envEnv = Map.fromList- [ ("CC", "${{ matrix.compiler }}")+ [ ("HCNAME", "${{ matrix.compiler }}") -- e.g. ghc-8.8.4+ , ("HCKIND", "${{ matrix.compilerKind }}") -- ghc+ , ("HCVER", "${{ matrix.compilerVersion }}") -- 8.8.4 ] -- Validity checks@@ -113,7 +117,7 @@ -- This have to be first, since the packages we install depend on -- whether we need GHCJS or not. when anyGHCJS $ githubRun' "Set GHCJS environment variables" envEnv $ sh $ intercalate "\n"- [ "if echo $CC | grep -q ghcjs; then"+ [ "if [ $HCKIND = ghcjs ]; then" , tell_env' "GHCJS" "true" , tell_env' "GHCJSARITH" "1" , "else"@@ -124,21 +128,63 @@ githubRun' "apt" envEnv $ do sh "apt-get update"- sh "apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common"- sh "apt-add-repository -y 'ppa:hvr/ghc'"- when anyGHCJS $ do- sh_if RangeGHCJS "apt-add-repository -y 'ppa:hvr/ghcjs'"- sh_if RangeGHCJS "curl -sSL \"https://deb.nodesource.com/gpgkey/nodesource.gpg.key\" | apt-key add -"- sh_if RangeGHCJS $ "apt-add-repository -y 'deb https://deb.nodesource.com/node_10.x " ++ ubuntuVer ++ " main'"- sh "apt-get update"- let basePackages = ["$CC", "cabal-install-" ++ cabalVer] ++ S.toList cfgApt- ghcjsPackages = ["ghc-8.4.4", "nodejs"]- baseInstall = "apt-get install -y " ++ unwords basePackages- ghcjsInstall = "apt-get install -y " ++ unwords (basePackages ++ ghcjsPackages)- if anyGHCJS- then if_then_else RangeGHCJS ghcjsInstall baseInstall- else sh baseInstall+ let corePkgs :: [String]+ corePkgs =+ [ "gnupg"+ , "ca-certificates"+ , "dirmngr"+ , "curl"+ , "git"+ , "software-properties-common"+ , "libtinfo5"+ ] +++ -- Installing libnuma-dev is required to work around+ -- https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/b0522507be6fa991a819aaf22f9a551757380821/README.md#libnuma-required+ [ "libnuma-dev"+ | GHC (C.mkVersion [8,4,4]) `elem` allVersions+ , GHC (C.mkVersion [8,4,4]) & isGHCUP+ ]+ sh $ "apt-get install -y --no-install-recommends " ++ unwords corePkgs + let 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 " ++ cabalFullVer++ hvrppa <- runSh $ do+ sh "apt-add-repository -y 'ppa:hvr/ghc'"+ when anyGHCJS $ do+ sh_if RangeGHCJS "apt-add-repository -y 'ppa:hvr/ghcjs'"+ sh_if RangeGHCJS "curl -sSL \"https://deb.nodesource.com/gpgkey/nodesource.gpg.key\" | apt-key add -"+ sh_if RangeGHCJS $ "apt-add-repository -y 'deb https://deb.nodesource.com/node_10.x " ++ ubuntuVer ++ " main'"+ sh "apt-get update"+ let basePackages = ["\"$HCNAME\"" ] ++ [ "cabal-install-" ++ cabalVer | not cfgGhcupCabal ] ++ S.toList cfgApt+ ghcjsPackages = ["ghc-8.4.4", "nodejs"]+ baseInstall = "apt-get install -y " ++ unwords basePackages+ ghcjsInstall = "apt-get install -y " ++ unwords (basePackages ++ ghcjsPackages)+ if anyGHCJS+ then if_then_else RangeGHCJS ghcjsInstall baseInstall+ else sh baseInstall+ when cfgGhcupCabal $ do+ installGhcup+ installGhcupCabal++ ghcup <- runSh $ do+ installGhcup+ sh $ "\"$HOME/.ghcup/bin/ghcup\" install ghc \"$HCVER\""+ installGhcupCabal+ unless (null cfgApt) $ do+ sh "apt-get update"+ sh $ "apt-get install -y " ++ unwords (S.toList cfgApt)++ setup hvrppa ghcup+ githubRun' "Set PATH and environment variables" envEnv $ do echo_to "$GITHUB_PATH" "$HOME/.cabal/bin" @@ -152,22 +198,30 @@ tell_env "CABAL_DIR" "$HOME/.cabal" tell_env "CABAL_CONFIG" "$HOME/.cabal/config" - let hcdir = "$(echo \"/opt/$CC\" | sed 's/-/\\//')"- sh ("HCDIR=" ++ hcdir)+ sh "HCDIR=/opt/$HCKIND/$HCVER" - if_then_else RangeGHCJS- "HCNAME=ghcjs"- "HCNAME=ghc"+ let ghcupCabalPath = tell_env "CABAL" $ "$HOME/.ghcup/bin/cabal-" ++ cabalFullVer ++ " -vnormal+nowrap" - let hc = "$HCDIR/bin/$HCNAME"- sh ("HC=" ++ hc)- tell_env "HC" "$HC"- tell_env "HCPKG" (hc ++ "-pkg")- tell_env "HADDOCK" "$HCDIR/bin/haddock"+ hvrppa <- runSh $ do+ let hc = "$HCDIR/bin/$HCKIND"+ sh $ "HC=" ++ hc -- HC is an absolute path.+ tell_env "HC" "$HC"+ tell_env "HCPKG" $ hc ++ "-pkg"+ tell_env "HADDOCK" "$HCDIR/bin/haddock"+ if cfgGhcupCabal+ then ghcupCabalPath+ else tell_env "CABAL" $ "/opt/cabal/" ++ cabalVer ++ "/bin/cabal -vnormal+nowrap" - -- TODO: configurable cabal version- tell_env "CABAL" $ "/opt/cabal/" ++ cabalVer ++ "/bin/cabal -vnormal+nowrap"+ ghcup <- runSh $ do+ let hc = "$HOME/.ghcup/bin/$HCKIND-$HCVER"+ sh $ "HC=" ++ hc -- HC is an absolute path.+ tell_env "HC" "$HC"+ tell_env "HCPKG" $ "$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER"+ tell_env "HADDOCK" "$HOME/.ghcup/bin/haddock-$HCVER"+ ghcupCabalPath + setup hvrppa ghcup+ sh "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" tell_env "HCNUMVER" "$HCNUMVER" @@ -181,7 +235,7 @@ (tell_env' "HEADHACKAGE" "true") (tell_env' "HEADHACKAGE" "false") - tell_env "ARG_COMPILER" "--$HCNAME --with-compiler=$HC"+ tell_env "ARG_COMPILER" "--$HCKIND --with-compiler=$HC" unless anyGHCJS $ tell_env "GHCJSARITH" "0"@@ -216,6 +270,21 @@ , "\nfi" ] + -- Cabal jobs+ for_ (cfgJobs >>= cabalJobs) $ \n ->+ cat "$CABAL_CONFIG" $ unlines+ [ "jobs: " ++ show n+ ]++ -- GHC jobs + ghc-options+ for_ (cfgJobs >>= ghcJobs) $ \m -> do+ sh_if (Range $ C.orLaterVersion (C.mkVersion [7,8])) $ "GHCJOBS=-j" ++ show m++ cat "$CABAL_CONFIG" $ unlines+ [ "program-default-options"+ , " ghc-options: $GHCJOBS +RTS -M3G -RTS"+ ]+ sh "cat $CABAL_CONFIG" githubRun "versions" $ do@@ -265,14 +334,14 @@ when doctestEnabled $ githubRun "install doctest" $ do let range = Range (cfgDoctestEnabled cfgDoctest) /\ doctestJobVersionRange- sh_if range "$CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.17'"+ sh_if range "$CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.20'" sh_if range "doctest --version" let hlintVersionConstraint | C.isAnyVersion (cfgHLintVersion cfgHLint) = "" | otherwise = " --constraint='hlint " ++ prettyShow (cfgHLintVersion cfgHLint) ++ "'" when (cfgHLintEnabled cfgHLint) $ githubRun "install hlint" $ do- let forHLint = sh_if (hlintJobVersionRange versions cfgHeadHackage (cfgHLintJob cfgHLint))+ let forHLint = sh_if (hlintJobVersionRange allVersions cfgHeadHackage (cfgHLintJob cfgHLint)) if cfgHLintDownload cfgHLint then do -- install --dry-run and use perl regex magic to find a hlint version@@ -316,6 +385,7 @@ sh $ pkgNameDirVariable' pkgName ++ "=\"$(find \"$GITHUB_WORKSPACE/unpacked\" -maxdepth 1 -type d -regex '.*/" ++ pkgName ++ "-[0-9.]*')\"" tell_env (pkgNameDirVariable' pkgName) (pkgNameDirVariable pkgName) + sh "rm -f cabal.project cabal.project.local" sh "touch cabal.project" sh "touch cabal.project.local" @@ -435,8 +505,8 @@ -- removing the vowels to make filepaths shorter let manglePkgNames :: String -> [String] manglePkgNames n- | null cfgOsx = [n]- | otherwise = [n, filter notVowel n]+ | null macosVersions = [n]+ | otherwise = [n, filter notVowel n] where notVowel c = notElem c ("aeiou" :: String) let filterPkgs = intercalate "|" $ concatMap (manglePkgNames . C.unPackageName) $ cfgDoctestFilterEnvPkgs cfgDoctest@@ -477,7 +547,7 @@ for_ (hlintArgs pkgGpd) $ \args -> do let args' = unwords args unless (null args) $- sh_if (hlintJobVersionRange versions cfgHeadHackage (cfgHLintJob cfgHLint) /\ RangePoints pkgJobs) $+ sh_if (hlintJobVersionRange allVersions cfgHeadHackage (cfgHLintJob cfgHLint) /\ RangePoints pkgJobs) $ "(cd " ++ pkgNameDirVariable pkgName ++ " && hlint" ++ hlintOptions ++ " " ++ args' ++ ")" -- cabal check@@ -503,13 +573,18 @@ sh "rm -f cabal.project.local" for_ cfgConstraintSets $ \cs -> githubRun ("constraint set " ++ csName cs) $ do- let sh_cs = sh_if (Range (csGhcVersions cs))- let sh_cs' r = sh_if (Range (csGhcVersions cs) /\ r)+ let range+ | csGhcjs cs = Range (csGhcVersions cs)+ | otherwise = RangeGHC /\ Range (csGhcVersions cs)++ let sh_cs = sh_if range+ let sh_cs' r = sh_if (range /\ r) let testFlag = if csTests cs then "--enable-tests" else "--disable-tests" let benchFlag = if csBenchmarks cs then "--enable-benchmarks" else "--disable-benchmarks" let constraintFlags = map (\x -> "--constraint='" ++ x ++ "'") (csConstraints cs) let allFlags = unwords (testFlag : benchFlag : constraintFlags) + when cfgInstallDeps $ sh_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " --dependencies-only -j2 all" sh_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " all" when (docspecEnabled && csDocspec cs) $ sh_cs' docspecRange cabalDocspec@@ -537,14 +612,16 @@ , ghjContinueOnError = Just "${{ matrix.allow-failure }}" , ghjServices = mconcat [ Map.singleton "postgres" postgresService | cfgPostgres ]+ , ghjTimeout = max 10 cfgTimeoutMinutes , ghjMatrix = [ GitHubMatrixEntry- { ghmeCompiler = compiler+ { ghmeCompiler = compiler , ghmeAllowFailure = previewGHC cfgHeadHackage compiler || maybeGHC False (`C.withinRange` cfgAllowFailures) compiler+ , ghmeSetupMethod = if isGHCUP compiler then GHCUP else HVRPPA }- | compiler <- reverse $ toList versions+ | compiler <- reverse $ toList linuxVersions , compiler /= GHCHead -- TODO: Make this work -- https://github.com/haskell-CI/haskell-ci/issues/458 ]@@ -556,16 +633,48 @@ actionName = fromMaybe "Haskell-CI" cfgGitHubActionName mainJobName = "linux" - cabalVer = dispCabalVersion cfgCabalInstallVersion- ubuntuVer = showUbuntu cfgUbuntu+ ubuntuVer = showUbuntu cfgUbuntu+ cabalVer = dispCabalVersion cfgCabalInstallVersion+ cabalFullVer = dispCabalVersion $ cfgCabalInstallVersion <&> \ver ->+ case C.versionNumbers ver of+ [3,6] -> C.mkVersion [3,6,2,0]+ [x,y] -> C.mkVersion [x,y,0,0]+ _ -> ver Auxiliary {..} = auxiliary config prj jobs - anyGHCJS = any isGHCJS versions+ anyGHCJS = any isGHCJS allVersions+ anyGHCUP = any isGHCUP allVersions+ allGHCUP = all isGHCUP allVersions + -- Generate a setup block for hvr-ppa or ghcup, or both.+ setup :: [Sh] -> [Sh] -> ShM ()+ setup hvrppa ghcup+ | allGHCUP = traverse_ liftSh ghcup+ | not anyGHCUP = traverse_ liftSh hvrppa+ -- 2192: ${{ ...}} will match (ShellCheck think it doesn't)+ -- 2129: individual redirects+ | otherwise = sh' [2193, 2129] $ unlines $+ [ "if [ \"${{ matrix.setup-method }}\" = ghcup ]; then"+ ] +++ [ " " ++ shToString s+ | s <- ghcup+ ] +++ [ "else"+ ] +++ [ " " ++ shToString s+ | s <- hvrppa+ ] +++ [ "fi"+ ]++ -- job to be setup with ghcup+ isGHCUP :: CompilerVersion -> Bool+ isGHCUP v = compilerWithinRange v (RangeGHC /\ Range cfgGhcupJobs)+ -- GHC versions which need head.hackage headGhcVers :: Set CompilerVersion- headGhcVers = S.filter (previewGHC cfgHeadHackage) versions+ headGhcVers = S.filter (previewGHC cfgHeadHackage) allVersions -- step primitives githubRun' :: String -> Map.Map String String -> ShM () -> ListBuilder (Either HsCiError GitHubStep) ()@@ -594,18 +703,18 @@ change_dir_if range dir = sh_if range ("cd " ++ dir ++ " || false") tell_env' :: String -> String -> String- tell_env' k v = "echo " ++ show (k ++ "=" ++ v) ++ " >> $GITHUB_ENV"+ tell_env' k v = "echo " ++ show (k ++ "=" ++ v) ++ " >> \"$GITHUB_ENV\"" tell_env :: String -> String -> ShM () tell_env k v = sh $ tell_env' k v if_then_else :: CompilerRange -> String -> String -> ShM () if_then_else range con alt- | all (`compilerWithinRange` range) versions = sh con- | not $ any (`compilerWithinRange` range) versions = sh alt+ | all (`compilerWithinRange` range) allVersions = sh con+ | not $ any (`compilerWithinRange` range) allVersions = sh alt | otherwise = sh $ unwords [ "if ["- , compilerVersionArithPredicate versions range+ , compilerVersionArithPredicate allVersions range , "-ne 0 ]" , "; then" , con@@ -618,11 +727,11 @@ sh_if :: CompilerRange -> String -> ShM () sh_if range con- | all (`compilerWithinRange` range) versions = sh con- | not $ any (`compilerWithinRange` range) versions = pure ()+ | all (`compilerWithinRange` range) allVersions = sh con+ | not $ any (`compilerWithinRange` range) allVersions = pure () | otherwise = sh $ unwords [ "if ["- , compilerVersionArithPredicate versions range+ , compilerVersionArithPredicate allVersions range , "-ne 0 ]" , "; then" , con@@ -665,6 +774,7 @@ | serverChannelName <- serverChannelNames , success <- [True, False] ]+ , ghjTimeout = 10 }) where serverChannelNames = cfgIrcChannels cfg@@ -699,15 +809,16 @@ GitHubStep ("IRC " ++ result ++ " notification (" ++ serverChannelName ++ ")") $ Right $ GitHubUses "Gottox/irc-message-action@v1.1" (Just $ "needs." ++ mainJobName ++ ".result " ++ eqCheck ++ " 'success'") $- Map.fromList- [ ("server", serverName)- , ("channel", channelName)- , ("nickname", "github-actions")- , ("message", "\x0313" ++ projectName ++ "\x03/\x0306${{ github.ref }}\x03 "- ++ "\x0314${{ github.sha }}\x03 "- ++ "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} "- ++ "The build " ++ resultPastTense ++ ".")- ]+ Map.fromList $ buildList $ do+ item ("server", serverName)+ item ("channel", channelName)+ item ("nickname", fromMaybe "github-actions" $ cfgIrcNickname cfg)+ for_ (cfgIrcPassword cfg) $ \p ->+ item ("sasl_password", p)+ item ("message", "\x0313" ++ projectName ++ "\x03/\x0306${{ github.ref }}\x03 "+ ++ "\x0314${{ github.sha }}\x03 "+ ++ "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} "+ ++ "The build " ++ resultPastTense ++ ".") catCmd :: FilePath -> String -> String catCmd path contents = concat
src/HaskellCI/GitHub/Yaml.hs view
@@ -38,12 +38,17 @@ , ghjContinueOnError :: Maybe String , ghjMatrix :: [GitHubMatrixEntry] , ghjSteps :: [GitHubStep]+ , ghjTimeout :: Natural } deriving (Show) +data SetupMethod = HVRPPA | GHCUP+ deriving Show+ data GitHubMatrixEntry = GitHubMatrixEntry { ghmeCompiler :: CompilerVersion , ghmeAllowFailure :: Bool+ , ghmeSetupMethod :: SetupMethod } deriving (Show) @@ -110,6 +115,7 @@ item $ "needs" ~> ylistFilt [] (map fromString ghjNeeds) for_ ghjIf $ \if_ -> item $ "if" ~> fromString if_+ item $ "timeout-minutes" ~> YNumber [] (toInteger ghjTimeout) item $ "container" ~> ykeyValuesFilt [] (buildList $ for_ ghjContainer $ \image -> item $ "image" ~> fromString image) item $ "services" ~> toYaml ghjServices@@ -123,10 +129,17 @@ ] item $ "steps" ~> ylistFilt [] (map toYaml $ filter notEmptyStep ghjSteps) +instance ToYaml SetupMethod where+ toYaml HVRPPA = "hvr-ppa"+ toYaml GHCUP = "ghcup"+ instance ToYaml GitHubMatrixEntry where toYaml GitHubMatrixEntry {..} = ykeyValuesFilt []- [ "compiler" ~> fromString (dispGhcVersion ghmeCompiler)- , "allow-failure" ~> toYaml ghmeAllowFailure+ [ "compiler" ~> fromString (dispGhcVersion ghmeCompiler)+ , "compilerKind" ~> fromString (compilerKind ghmeCompiler)+ , "compilerVersion" ~> fromString (compilerVersion ghmeCompiler)+ , "setup-method" ~> toYaml ghmeSetupMethod+ , "allow-failure" ~> toYaml ghmeAllowFailure ] instance ToYaml GitHubStep where@@ -162,8 +175,3 @@ [ k ~> fromString v | (k, v) <- M.toList m ]--shlistToString :: [Sh] -> String-shlistToString shs = unlines (map go shs) where- go (Comment c) = "# " ++ c- go (Sh x) = x
src/HaskellCI/HeadHackage.hs view
@@ -2,6 +2,11 @@ import HaskellCI.Prelude +import qualified Distribution.Version as C++defaultHeadHackage :: VersionRange+defaultHeadHackage = C.orLaterVersion (C.mkVersion [9,3])+ headHackageRepoStanza :: [String] headHackageRepoStanza = [ "repository head.hackage.ghc.haskell.org"
src/HaskellCI/Jobs.hs view
@@ -1,11 +1,14 @@ {-# LANGUAGE RecordWildCards #-} -- | Which jobs to generate. Also helper for diagnostics output.-module HaskellCI.Jobs where+module HaskellCI.Jobs (+ JobVersions (..),+ describeJobs,+ makeJobVersions,+) where import HaskellCI.Prelude -import qualified Data.Set as S-import qualified Distribution.Pretty as C+import qualified Data.Set as S import HaskellCI.Compiler import HaskellCI.Config@@ -14,9 +17,9 @@ import HaskellCI.TestedWith data JobVersions = JobVersions- { versions :: Set CompilerVersion -- ^ all jobs- , osxVersions :: Set Version -- ^ osx jobs: GHC only- , omittedOsxVersions :: Set Version+ { allVersions :: Set CompilerVersion -- ^ all versions (useful for Travis)+ , linuxVersions :: Set CompilerVersion -- ^ linux jobs+ , macosVersions :: Set CompilerVersion -- ^ macos jobs } describeJobs@@ -29,31 +32,27 @@ putStrLnInfo $ "Generating " ++ typ ++ " for testing for GHC versions: " ++ ghcVersions case twj of TestedWithUniform -> pure ()- TestedWithAny -> for_ pkgs $ \pkg -> do- -- this omits HEAD version.- let vr = pkgJobs pkg- let vs = showVersions vr- putStrLnInfo $ pkgName pkg ++ " " ++ ": " ++ vs+ TestedWithAny -> traverse_ putStrLnInfo $ table'+ [ pkgName pkg : "": map (showPkgVersion (pkgJobs pkg)) (S.toList allVersions)+ | pkg <- pkgs+ ] - unless (null osxVersions) $ do- putStrLnInfo $ "Also OSX jobs for: " ++ ghcOsxVersions- unless (S.null omittedOsxVersions) $- putStrLnWarn $ "Not all GHC versions specified with --osx are generated: " ++ ghcOmittedOsxVersions+ unless (null macosVersions) $ do+ putStrLnInfo $ "Also macos jobs for: " ++ ghcmacosVersions where+ showPkgVersion :: Set CompilerVersion -> CompilerVersion -> String+ showPkgVersion vs v+ | S.member v vs = dispGhcVersionShort v+ | otherwise = ""+ showVersions :: Set CompilerVersion -> String showVersions = unwords . map dispGhcVersionShort . S.toList - showVersionsV :: Set Version -> String- showVersionsV = unwords . map C.prettyShow . S.toList- ghcVersions :: String- ghcVersions = showVersions versions-- ghcOsxVersions :: String- ghcOsxVersions = showVersionsV osxVersions+ ghcVersions = showVersions linuxVersions - ghcOmittedOsxVersions :: String- ghcOmittedOsxVersions = showVersionsV omittedOsxVersions+ ghcmacosVersions :: String+ ghcmacosVersions = showVersions macosVersions makeJobVersions :: Config -> Set CompilerVersion -> JobVersions makeJobVersions Config {..} versions' = JobVersions {..} where@@ -63,10 +62,37 @@ | cfgGhcHead = S.insert GHCHead versions' | otherwise = versions' - osxVersions' :: Set Version- osxVersions' = cfgOsx+ allVersions :: Set CompilerVersion+ allVersions = S.filter (`compilerWithinRange` range) versions - osxVersions, omittedOsxVersions :: Set Version- (osxVersions, omittedOsxVersions) = S.partition (\x -> GHC x `S.member` versions') osxVersions'+ linuxVersions :: Set CompilerVersion+ linuxVersions = S.filter (`compilerWithinRange` linuxRange) allVersions + macosVersions :: Set CompilerVersion+ macosVersions = S.filter (`compilerWithinRange` macosRange) allVersions + range, linuxRange, macosRange :: CompilerRange+ range = Range cfgEnabledJobs+ linuxRange = Range cfgLinuxJobs+ macosRange = RangeGHC /\ Range cfgMacosJobs++-- https://oleg.fi/gists/posts/2019-04-28-tabular.html+table' :: [[String]] -> [String]+table' cells = rows+ where+ cols :: Int+ rowWidths :: [Int]+ rows :: [String]++ (cols, rowWidths, rows) = foldr go (0, repeat 0, []) cells++ go :: [String] -> (Int, [Int], [String]) -> (Int, [Int], [String])+ go xs (c, w, yss) =+ ( max c (length xs)+ , zipWith max w (map length xs ++ repeat 0)+ , unwords (take cols (zipWith fill xs rowWidths))+ : yss+ )++ fill :: String -> Int -> String+ fill s n = s ++ replicate (n - length s) ' '
src/HaskellCI/Prelude.hs view
@@ -34,9 +34,11 @@ import Data.Set as X (Set) import Data.String as X (IsString (fromString)) import Data.Text as X (Text)+import Data.Typeable as X (Typeable) import Data.Void as X (Void) import GHC.Generics as X (Generic) import Network.URI as X (URI, parseURI, uriToString)+import Numeric.Natural as X (Natural) import Text.Read as X (readMaybe) import Data.Generics.Lens.Lite as X (field)@@ -46,7 +48,11 @@ import Distribution.Pretty as X (prettyShow) import Distribution.Version as X (Version, VersionRange, anyVersion, mkVersion, noVersion) -import qualified Distribution.Version as C+import qualified Distribution.Compat.CharParsing as C+import qualified Distribution.Parsec as C+import qualified Distribution.Pretty as C+import qualified Distribution.Version as C+import qualified Text.PrettyPrint as PP import Data.Functor.WithIndex.Instances () @@ -100,3 +106,9 @@ instance Lattice VersionRange where (/\) = C.intersectVersionRanges (\/) = C.unionVersionRanges++instance C.Parsec Natural where+ parsec = C.integral++instance C.Pretty Natural where+ pretty = PP.text . show
src/HaskellCI/Sh.hs view
@@ -4,10 +4,13 @@ module HaskellCI.Sh ( Sh (..), isComment,+ shToString,+ shlistToString, MonadSh (..), sh, ShM (..), runSh,+ liftSh, HsCiError (..), FromHsCiError (..), ) where@@ -35,6 +38,13 @@ isComment (Comment _) = True isComment (Sh _) = False +shToString :: Sh -> String+shToString (Comment c) = "# " ++ c+shToString (Sh x) = x++shlistToString :: [Sh] -> String+shlistToString shs = unlines (map shToString shs)+ ------------------------------------------------------------------------------- -- class -------------------------------------------------------------------------------@@ -72,6 +82,9 @@ runSh (ShM f) = case f id of Left err -> throwErr (fromHsCiError err) Right (g, ()) -> return (g [])++liftSh :: Sh -> ShM ()+liftSh s = ShM $ \shs -> Right (shs . (s :), ()) instance Applicative ShM where pure x = ShM $ \shs -> Right (shs, x)
src/HaskellCI/ShVersionRange.hs view
@@ -122,12 +122,12 @@ conj = joins . map disj disj :: C.VersionInterval -> Free String- disj (C.LowerBound v C.InclusiveBound, C.UpperBound u C.InclusiveBound)+ disj (C.VersionInterval (C.LowerBound v C.InclusiveBound) (C.UpperBound u C.InclusiveBound)) | v == u = Var ("HCNUMVER == " ++ f v)- disj (lb, C.NoUpperBound)+ disj (C.VersionInterval lb C.NoUpperBound) | isInclZero lb = top | otherwise = Var (lower lb)- disj (lb, C.UpperBound v b)+ disj (C.VersionInterval lb (C.UpperBound v b)) | isInclZero lb = Var (upper v b) | otherwise = Var (lower lb) /\ Var (upper v b)
src/HaskellCI/Tools.hs view
@@ -15,6 +15,7 @@ import qualified Distribution.PackageDescription.Configuration as C import qualified Distribution.Pretty as C import qualified Distribution.Types.VersionRange as C+import qualified Distribution.Utils.Path as C import qualified Distribution.Version as C import qualified Distribution.Types.BuildInfo.Lens as L@@ -60,7 +61,7 @@ dirsOrMods | null (C.hsSourceDirs bi) = map C.prettyShow (C.exposedModules l)- | otherwise = C.hsSourceDirs bi+ | otherwise = map C.getSymbolicPath $ C.hsSourceDirs bi exts = map (("-X" ++) . C.prettyShow) (C.defaultExtensions bi) @@ -74,7 +75,7 @@ dirsOrMods -- note: we don't try to find main_is location, if hsSourceDirs is empty. | null (C.hsSourceDirs bi) = map C.prettyShow (C.otherModules bi)- | otherwise = C.hsSourceDirs bi+ | otherwise = map C.getSymbolicPath $ C.hsSourceDirs bi exts = map (("-X" ++) . C.prettyShow) (C.defaultExtensions bi)
src/HaskellCI/Travis.hs view
@@ -114,7 +114,7 @@ -- Needed to work around haskell/cabal#6214 sh "HADDOCK=$(echo \"/opt/$CC/bin/haddock\" | sed 's/-/\\//')"- unless (null cfgOsx) $ do+ unless (null macosVersions) $ do sh $ "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then HADDOCK=$(echo $HADDOCK | sed \"s:^/opt:$HOME/.ghc-install:\"); fi" -- Hack: happy needs ghc. Let's install version matching GHCJS.@@ -133,9 +133,9 @@ sh "TOP=$(pwd)" -- macOS installing let haskellOnMacos = "https://haskell.futurice.com/haskell-on-macos.py"- unless (null cfgOsx) $ do+ unless (null macosVersions) $ do sh $ "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then curl " ++ haskellOnMacos ++ " | python3 - --make-dirs --install-dir=$HOME/.ghc-install --cabal-alias=3.2.0.0 install cabal-install-3.2.0.0 ${TRAVIS_COMPILER}; fi"- sh' [2034,2039] "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then HC=$HOME/.ghc-install/ghc/bin/$TRAVIS_COMPILER; WITHCOMPILER=\"-w $HC\"; HCPKG=$HOME/.ghc-install/ghc/bin/${TRAVIS_COMPILER/ghc/ghc-pkg}; CABAL=$HOME/.ghc-install/ghc/bin/cabal; fi"+ sh' [2034,2039] "if [ \"$TRAVIS_OS_NAME\" = \"osx\" ]; then HC=$HOME/.ghc-install/ghc/bin/$TRAVIS_COMPILER; WITHCOMPILER=\"-w $HC\"; HCPKG=$HOME/.ghc-install/ghc/bin/${TRAVIS_COMPILER}/ghc/ghc-pkg; CABAL=$HOME/.ghc-install/ghc/bin/cabal; fi" -- HCNUMVER, numeric HC version, e.g. ghc 7.8.4 is 70804 and 7.10.3 is 71003 sh "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')" sh "echo $HCNUMVER"@@ -144,7 +144,7 @@ sh "CABAL=\"$CABAL -vnormal+nowrap\"" -- SC2039: In POSIX sh, set option pipefail is undefined. Travis is bash, so it's fine :)- sh' [2039] "set -o pipefail"+ sh' [2039, 3040] "set -o pipefail" sh "TEST=--enable-tests" shForJob (invertCompilerRange $ Range cfgTests) "TEST=--disable-tests"@@ -224,7 +224,7 @@ | C.isAnyVersion (cfgHLintVersion cfgHLint) = "" | otherwise = " --constraint='hlint " ++ C.prettyShow (cfgHLintVersion cfgHLint) ++ "'" when (cfgHLintEnabled cfgHLint) $ do- let forHLint = shForJob (hlintJobVersionRange versions cfgHeadHackage (cfgHLintJob cfgHLint))+ let forHLint = shForJob (hlintJobVersionRange allVersions cfgHeadHackage (cfgHLintJob cfgHLint)) if cfgHLintDownload cfgHLint then do -- install --dry-run and use perl regex magic to find a hlint version@@ -335,8 +335,8 @@ -- removing the vowels to make filepaths shorter let manglePkgNames :: String -> [String] manglePkgNames n- | null cfgOsx = [n]- | otherwise = [n, filter notVowel n]+ | null macosVersions = [n]+ | otherwise = [n, filter notVowel n] where notVowel c = notElem c ("aeiou" :: String) let filterPkgs = intercalate "|" $ concatMap (manglePkgNames . C.unPackageName) $ cfgDoctestFilterEnvPkgs cfgDoctest@@ -366,7 +366,7 @@ for_ (hlintArgs pkgGpd) $ \args -> do let args' = unwords args unless (null args) $- shForJob (hlintJobVersionRange versions cfgHeadHackage (cfgHLintJob cfgHLint) /\ RangePoints pkgJobs) $+ shForJob (hlintJobVersionRange allVersions cfgHeadHackage (cfgHLintJob cfgHLint) /\ RangePoints pkgJobs) $ "(cd " ++ pkgNameDirVariable pkgName ++ " && hlint" ++ hlintOptions ++ " " ++ args' ++ ")" -- cabal check@@ -402,6 +402,7 @@ let allFlags = unwords (testFlag : benchFlag : constraintFlags) foldedSh' FoldConstraintSets name ("Constraint set " ++ name) cfgFolds $ do+ shForCs $ cabal $ "v2-build $WITHCOMPILER " ++ allFlags ++ " --dependencies-only -j2 all" shForCs $ cabal $ "v2-build $WITHCOMPILER " ++ allFlags ++ " all" when (csRunTests cs) $ shForCs' hasTests $ cabal $ "v2-test $WITHCOMPILER " ++ allFlags ++ " all --test-show-details=direct"@@ -431,7 +432,7 @@ item "$HOME/.hlint" -- on OSX ghc is installed in $HOME so we can cache it -- independently of linux- when (cfgCache && not (null cfgOsx)) $ do+ when (cfgCache && not (null macosVersions)) $ do item "$HOME/.ghc-install" } , travisBranches = TravisBranches@@ -444,6 +445,8 @@ , tiTemplate = [ "\x0313" ++ projectName ++ "\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}" ]+ , tiNick = cfgIrcNickname+ , tiPassword = cfgIrcPassword } , tnEmail = cfgEmailNotifications }@@ -496,12 +499,12 @@ } } - for_ (reverse $ S.toList versions) $ tellJob False- for_ (reverse $ S.toList osxVersions) $ tellJob True . GHC+ for_ (reverse $ S.toList linuxVersions) $ tellJob False+ for_ (reverse $ S.toList macosVersions) $ tellJob True , tmAllowFailures = [ TravisAllowFailure $ dispGhcVersion compiler- | compiler <- toList versions+ | compiler <- toList allVersions , previewGHC cfgHeadHackage compiler || maybeGHC False (`C.withinRange` cfgAllowFailures) compiler ] }@@ -519,7 +522,7 @@ -- TODO: should this be part of MonadSh ? foldedSh label = foldedSh' label "" - anyGHCJS = any isGHCJS versions+ anyGHCJS = any isGHCJS allVersions -- https://github.com/travis-ci/docs-travis-ci-com/issues/949#issuecomment-276755003 -- https://github.com/travis-ci/travis-rubies/blob/9f7962a881c55d32da7c76baefc58b89e3941d91/build.sh#L38-L44@@ -547,7 +550,7 @@ -- GHC versions which need head.hackage headGhcVers :: Set CompilerVersion- headGhcVers = S.filter (previewGHC cfgHeadHackage) versions+ headGhcVers = S.filter (previewGHC cfgHeadHackage) allVersions cabal :: String -> String cabal cmd = "${CABAL} " ++ cmd@@ -557,11 +560,11 @@ forJob :: CompilerRange -> String -> Maybe String forJob vr cmd- | all (`compilerWithinRange` vr) versions = Just cmd- | not $ any (`compilerWithinRange` vr) versions = Nothing- | otherwise = Just $ unwords+ | all (`compilerWithinRange` vr) allVersions = Just cmd+ | not $ any (`compilerWithinRange` vr) allVersions = Nothing+ | otherwise = Just $ unwords [ "if"- , compilerVersionPredicate versions vr+ , compilerVersionPredicate allVersions vr , "; then" , cmd , "; fi"
src/HaskellCI/Travis/Yaml.hs view
@@ -60,6 +60,8 @@ { tiChannels :: [String] , tiSkipJoin :: Bool , tiTemplate :: [String]+ , tiNick :: Maybe String+ , tiPassword :: Maybe String } deriving Show @@ -165,11 +167,14 @@ unless tnEmail $ item $ "email" ~> toYaml False instance ToYaml TravisIRC where- toYaml TravisIRC {..} = ykeyValuesFilt []- [ "channels" ~> YList [] (map fromString tiChannels)- , "skip_join" ~> toYaml tiSkipJoin- , "template" ~> YList [] (map fromString tiTemplate)- ]+ toYaml TravisIRC {..} = ykeyValuesFilt [] $ buildList $ do+ item $ "channels" ~> YList [] (map fromString tiChannels)+ item $ "skip_join" ~> toYaml tiSkipJoin+ item $ "template" ~> YList [] (map fromString tiTemplate)+ for_ tiNick $ \n ->+ item $ "nick" ~> fromString n+ for_ tiPassword $ \p ->+ item $ "password" ~> fromString p instance ToYaml TravisCache where toYaml TravisCache {..} = ykeyValuesFilt []
src/HaskellCI/YamlSyntax.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE DeriveTraversable #-}@@ -19,11 +20,17 @@ import Data.Bits (shiftR, (.&.)) import Data.Char (isControl, isPrint, ord)+import Data.List (dropWhileEnd) import Data.Monoid (Endo (..)) import qualified Data.Aeson as Aeson import qualified Data.Aeson.Encoding as AE+#if MIN_VERSION_aeson(2,0,0)+import qualified Data.Aeson.Key as AK+import qualified Data.Aeson.KeyMap as AKM+#else import qualified Data.HashMap.Strict as HM+#endif import qualified Data.List.NonEmpty as NE import qualified Data.Map.Strict as M import qualified Data.Text as T@@ -45,6 +52,7 @@ -- only as much as we need in @haskell-ci@. data Yaml ann = YString ann String+ | YNumber ann Integer | YBool ann Bool | YList ann [Yaml ann] | YKeyValues ann [(ann, String, Yaml ann)]@@ -57,6 +65,7 @@ -- | Re-annotate top-level term reann :: (ann -> ann) -> Yaml ann -> Yaml ann reann f (YString ann s) = YString (f ann) s+reann f (YNumber ann i) = YNumber (f ann) i reann f (YBool ann b) = YBool (f ann) b reann f (YList ann xs) = YList (f ann) xs reann f (YKeyValues ann xs) = YKeyValues (f ann) xs@@ -203,6 +212,9 @@ Just ss -> pure (0, Line (comment ann) ss) Nothing -> pure (0, Line (comment ann) $ encodeYAMLString s) + go (YNumber ann i) =+ pure (0, Line (comment ann) (shows i))+ go (YBool ann b) = pure (0, Line (comment ann) (showString $ if b then "true" else "false")) @@ -295,12 +307,14 @@ -- Note: the input have to end with @\n@ for this to be triggered. -- multiline :: String -> Maybe [String]- multiline s = case YAML.decodeStrict bs of- Right [[t']] | t == t' -> Just ls- _ -> Nothing+ multiline s+ | elem '\n' s = case YAML.decodeStrict bs of+ Right [[t']] | t == t' -> Just ls+ _ -> Nothing+ | otherwise = Nothing where- ls = lines s- t = T.pack s+ ls = dropWhileEnd null $ lines s+ t = T.pack $ unlines ls ys = "- |\n" ++ concatMap (\l -> " " ++ l ++ "\n") ls yt = T.pack ys@@ -337,7 +351,11 @@ enc (Aeson.Array v) = AE.list enc (toList v) enc (Aeson.Object m) = AE.dict AE.text enc M.foldrWithKey (toMap m) +#if MIN_VERSION_aeson(2,0,0)+ toMap = M.fromList . fmap (\(k, v) -> (AK.toText k, v)) . AKM.toList+#else toMap = M.fromList . HM.toList+#endif -- a 'Line' is comments before in and actual text after! data Line = Line [String] ShowS
test/Tests.hs view
@@ -29,6 +29,7 @@ , fixtureGoldenTest "messy" , fixtureGoldenTest "psql" , fixtureGoldenTest "travis-patch"+ , fixtureGoldenTest "enabled-jobs" , testGroup "copy-fields" [ fixtureGoldenTest "copy-fields-all" , fixtureGoldenTest "copy-fields-some"