Hackage Deployment
This page documents deployments using dpl v1 which currently is the default version. The next major version dpl v2 will be released soon, and we recommend starting to use it. Please see our blog post for details. dpl v2 documentation can be found here.
Travis CI supports uploading to Hackage.
A minimal configuration is:
deploy:
provider: hackage
username: "Hackage User Name"
password: "Hackage Password"
It is recommended to encrypt password. Assuming you have the Travis CI command line client installed, you can do it like this:
$ travis encrypt --add deploy.password
You will be prompted to enter your api key on the command line.
You can also have the travis
tool set up everything for you:
$ travis setup hackage
Keep in mind that the above command has to run in your project directory, so it can modify the .travis.yml
for you.
Conditional releases #
You can deploy only when certain conditions are met.
See Conditional Releases with on:
.
For example, if you build your project with different GHC versions but only want to deploy from one GHC version, add an on
condition to your deploy:
section:
deploy:
on:
condition: $TRAVIS_HASKELL_VERSION = 8.2.2