Skip to content

Reusable GitHub Action to set up hlint in a workflow. Use with haskell-actions/hlint-run.

License

Notifications You must be signed in to change notification settings

haskell-actions/hlint-setup

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date
Apr 14, 2025
Apr 24, 2024
Apr 24, 2024
Sep 17, 2023
Sep 17, 2023
Sep 17, 2023
Sep 17, 2023
Oct 8, 2023
Apr 24, 2024
May 19, 2025
Sep 17, 2023
May 19, 2025

Repository files navigation

hlint-setup

GitHub Action: Set up hlint.

Downloads a binary of HLint from @ndmitchell/hlint, caches it through @actions/tool-cache, and adds it into PATH.

See also haskell-actions/hlint-run, which will run hlint and represent its output in GitHub annotations.

Inputs

  • version: The HLint version to download. Currently defaults to 3.5.

    Note that on some virtual environments, some versions of hlint need extra prerequisites installed. E.g., on ubuntu-22.04, versions hlint < 3.5 need the libncurses5 library (#128).

Outputs

  • hlint-dir: Resulting directory containing the hlint executable.
  • hlint-bin: Location of the hlint executable.
  • version: Version of the hlint tool (same as input, if provided).

Example

name: lint
on:
  pull_request:
  push:
    branches:
      - master
      - 'releases/*'

jobs:
  hlint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4

    - name: 'Set up HLint'
      uses: haskell-actions/hlint-setup@v2

    - name: 'Run HLint'
      uses: haskell-actions/hlint-run@v2
      with:
        path: src/
        fail-on: warning