Skip to content

haskell-actions/hackage-publish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

hackage-publish

A GitHub action for publishing packages and documentation to Hackage

Usage Examples

This step publishes packages and documentation as candidates on Hackage using the specified authentication token. You can generate an authentication token on your Hackage account managment page.

- uses: haskell-actions/hackage-publish@v1
  with:
    hackageToken: ${{ secrets.HACKAGE_AUTH_TOKEN }}
    packagesPath: ${{ runner.temp }}/packages
    docsPath: ${{ runner.temp }}/docs
    publish: false

docsPath parameter is optional and the action will not try uploading documentation when it is not specified. When docsPath is specified, but doesn't contain documentation for one or many packages in packagePath, these packages are uploaded without documentation. Missing documentation never results into an execution error.

To publish to a custom/private Hackage, specify hackageServer parameter to the custom/private Hackage server URI

- uses: haskell-actions/hackage-publish@v1
  with:
    hackageServer: ${{ secrets.HACKAGE_SERVER }}
    hackageToken: ${{ secrets.HACKAGE_AUTH_TOKEN }}
    packagesPath: ${{ runner.temp }}/packages
    publish: true