-- Most settings can be given as command line arguments -- Config file is convenient if you maintain large amount of packages -- Supported: xenial and bionic; -- though bionic doesn't seem to be officially supported by Travis distribution: xenial jobs: 2:2 -- Add GHC head job ghc-head: True -- travis Caching -- cache: True -- remove cabal noise from test output -- cabal-noise: False -- Build tests. In addition to True and False you may specify -- a version range, e.g. >= 8.0 to build tests only in some jobs. tests: True -- Run tests. Note that only built tests are run. Accepts booleans or version range. run-tests: True -- Build benchmarks. There are no way to run benchmarks. Accepts booleans or version range. benchmarks: True -- Build haddocks. Accepts booleans or version range. haddock: True -- Run cabal check -- cabal-check: True -- Install dependencies in a separate step -- If your project has inplace packages, you want to disable this. -- install-dependencies-step: True -- --no-tests --no-benchmarks build is useful to verify that package -- builds when less constrained -- no-tests-no-bench: True -- By default `installed` constraints are used for packages -- in global db. We can modify which constraints are used. installed: +all -Cabal -- Options for local packages local-ghc-options: -Werror -- Build only these branches branches: master -- Enable IRC notifications to the given channel -- name: fancy-name -- irc-channels: irc.freenode.org#my-channel -- Sections to fold in the build output folds: constraint-sets -- Run HLint (needs GHC-8.2.2 job) hlint: True hlint-yaml: .hlint.yaml -- hlint-version: ==2.0.* -- Run doctest (on GHC-8.0+ which support .ghc.environment) doctest: True doctest-options: --fast -- doctest-version: ==0.13.* -- macOS job osx: 8.4.4 8.6.5 -- Define per-job environment variables -- env: 8.4.4:FOO=bar, -- 8.6.4:FOO=baz -- Constraint sets -- Package will be build with different constraints. -- This is useful to check compatibility with older versions of dependencies. constraint-set deepseq-1.4 ghc: (>= 7.8 && <7.10) || == 8.2.2 constraints: deepseq ==1.4.* constraints: binary installed -- Constraint sets accept booleans for few steps, as the main script -- Defaults are False. -- These fields don't accept version ranges: you should rather create -- another constraint set. -- tests: False -- run-tests: False -- benchmarks: False haddock: True -- Copy over additional properties specified in a cabal.project file. -- Possible values are: -- none: Do not copy any properties from the cabal.project file. -- some: Copy a subset of the properties from the cabal.project file. (Default) -- The fields and sections that are copied over are: -- -- * constraints -- * allow-newer -- * reorder-goals -- * max-backjumps -- * optimization -- * source-repository-package -- all: Copy every property from the cabal.project file. copy-fields: some -- Configure haskell-ci's behavior when presented multiple packages (e.g., a -- cabal.project file that specifies multiple .cabal files), each of which -- having its own range of GHC versions in its tested-with stanza. -- Possible values are: -- uniform: Every package must have the same range of versions in its -- tested-with stanza. (Default) -- any: Take the union of all packages' version ranges. This implies -- that different packages' version ranges can be disjoint. jobs-selection: uniform -- Controls whether the haskell-ci version should be inserted into the -- generated Travis YAML file. (Default: True) -- -- We set this option to False here only to prevent version number churn in -- the commit history, as version numbers for haskell-ci HEAD change extremely -- frequently. insert-version: False -- Controls whether the output of `cabal` invocations should be highlighted -- using special colors in the Travis output. color: True -- Include these fields "as is" in generated cabal.project raw-project keep-going: False package bytestring tests: False