packages feed

haskell-ci-0.4: fixtures/cabal.haskell-ci

-- 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