{"id":13529228,"url":"https://github.com/actions/setup-haskell","last_synced_at":"2025-10-08T05:30:43.261Z","repository":{"id":55814186,"uuid":"210629718","full_name":"actions/setup-haskell","owner":"actions","description":" Set up your GitHub Actions workflow with a specific version of Haskell (GHC and Cabal)","archived":true,"fork":false,"pushed_at":"2020-12-11T21:52:56.000Z","size":19684,"stargazers_count":71,"open_issues_count":21,"forks_count":30,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-01-18T16:39:19.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/actions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-24T14:57:40.000Z","updated_at":"2024-09-20T10:43:00.000Z","dependencies_parsed_at":"2022-11-23T11:49:46.166Z","dependency_job_id":null,"html_url":"https://github.com/actions/setup-haskell","commit_stats":{"total_commits":63,"total_committers":9,"mean_commits":7.0,"dds":0.5396825396825398,"last_synced_commit":"59f838c36d3d7119f37a1a68c74d7d4915f42b8a"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fsetup-haskell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fsetup-haskell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fsetup-haskell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fsetup-haskell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/actions","download_url":"https://codeload.github.com/actions/setup-haskell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235683861,"owners_count":19029079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T07:00:34.541Z","updated_at":"2025-10-08T05:30:37.919Z","avatar_url":"https://github.com/actions.png","language":"TypeScript","funding_links":[],"categories":["Official Resources","CI"],"sub_categories":["Official Actions","Dependencies analysers"],"readme":"# setup-haskell\n\n**Please note:** This repository is currently unmaintained by a team of developers at GitHub. The \nrepository is here and you can use it as an example, or in Actions. However please be aware that \nwe are not going to  be updating issues or pull requests on this repository.\n\n**Maintained forks:**\n* [haskell/actions](https://github.com/haskell/actions)\n\nYou could also fork this code and maintain it, if you do please let us know.\n\nTo reflect this state we’ve marked this repository as Archived.\n\nIf you are having an issue or question about GitHub Actions then please [contact customer support](https://help.github.com/en/articles/about-github-actions#contacting-support).\n\nIf you have found a security issue [please submit it here](https://hackerone.com/github).\n\n---\n\n[![GitHub Actions status](https://github.com/actions/setup-haskell/workflows/Main%20workflow/badge.svg)](https://github.com/actions/setup-haskell)\n\nThis action sets up a Haskell environment for use in actions by:\n\n- optionally installing a version of [ghc](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/) and [cabal](https://www.haskell.org/cabal/) and adding to PATH.\n- optionally installing a version of [Stack](https://haskellstack.org) and adding to PATH.\n- setting the outputs of `ghc-path`, `cabal-path`, `stack-path`, and `cabal-store` when necessary.\n\nThe GitHub runners come with [pre-installed versions of GHC and Cabal](https://help.github.com/en/actions/reference/software-installed-on-github-hosted-runners). Those will be used whenever possible.\nFor all other versions, this action utilizes [`ppa:hvr/ghc`](https://launchpad.net/~hvr/+archive/ubuntu/ghc), [`ghcup`](https://gitlab.haskell.org/haskell/ghcup-hs), and [`chocolatey`](https://chocolatey.org/packages/ghc).\n\n## Usage\n\nSee [action.yml](action.yml)\n\nMinimal:\n\n```yaml\non: [push]\nname: build\njobs:\n  runhaskell:\n    name: Hello World\n    runs-on: ubuntu-latest # or macOS-latest, or windows-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: actions/setup-haskell@v1.1\n      - run: runhaskell Hello.hs\n```\n\nBasic:\n\n```yaml\non: [push]\nname: build\njobs:\n  runhaskell:\n    name: Hello World\n    runs-on: ubuntu-latest # or macOS-latest, or windows-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: actions/setup-haskell@v1.1\n        with:\n          ghc-version: '8.8' # Resolves to the latest point release of GHC 8.8\n          cabal-version: '3.0.0.0' # Exact version of Cabal\n      - run: runhaskell Hello.hs\n```\n\nBasic with Stack:\n\n```yaml\non: [push]\nname: build\njobs:\n  runhaskell:\n    name: Hello World\n    runs-on: ubuntu-latest # or macOS-latest, or windows-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: actions/setup-haskell@v1.1\n        with:\n          ghc-version: '8.8.3' # Exact version of ghc to use\n          # cabal-version: 'latest'. Omitted, but defalts to 'latest'\n          enable-stack: true\n          stack-version: 'latest'\n      - run: runhaskell Hello.hs\n```\n\nMatrix Testing:\n\n```yaml\non: [push]\nname: build\njobs:\n  build:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        ghc: ['8.6.5', '8.8.3']\n        cabal: ['2.4.1.0', '3.0.0.0']\n        os: [ubuntu-latest, macOS-latest, windows-latest]\n        exclude:\n          # GHC 8.8+ only works with cabal v3+\n          - ghc: 8.8.3\n            cabal: 2.4.1.0\n    name: Haskell GHC ${{ matrix.ghc }} sample\n    steps:\n      - uses: actions/checkout@v2\n      - name: Setup Haskell\n        uses: actions/setup-haskell@v1.1\n        with:\n          ghc-version: ${{ matrix.ghc }}\n          cabal-version: ${{ matrix.cabal }}\n      - run: runhaskell Hello.hs\n```\n\n## Inputs\n\n| Name              | Required | Description                                                                                                                                    | Type      | Default |\n| ----------------- | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------- |\n| `ghc-version`     |          | GHC version to use, ex. `latest`                                                                                                               | string    | latest  |\n| `cabal-version`   |          | Cabal version to use, ex. `3.2`                                                                                                                | string    | latest  |\n| `stack-version`   |          | Stack version to use, ex. `latest`. Stack will only be installed if enable-stack is set.                                                       | string    | latest  |\n| `enable-stack`    |          | If specified, will setup Stack.                                                                                                                | \"boolean\" | false   |\n| `stack-no-global` |          | If specified, enable-stack must be set. Prevents installing GHC and Cabal globally                                                             | \"boolean\" | false   |\n| `stack-setup-ghc` |          | If specified, enable-stack must be set. Runs stack setup to install the specified GHC. (Note: setting this does _not_ imply `stack-no-global`) | \"boolean\" | false   |\n\n## Outputs\n\n| Name          | Description                                  | Type   |\n| ------------- | -------------------------------------------- | ------ |\n| `ghc-path`    | The path of the ghc executable _directory_   | string |\n| `cabal-path`  | The path of the cabal executable _directory_ | string |\n| `stack-path`  | The path of the stack executable _directory_ | string |\n| `cabal-store` | The path to the cabal store                  | string |\n| `ghc-exe`     | The path of the ghc _executable_             | string |\n| `cabal-exe`   | The path of the cabal _executable_           | string |\n| `stack-exe`   | The path of the stack _executable_           | string |\n\n## Version Support\n\n**GHC:**\n\n- `latest` (default, recommended)\n- `8.10.1` `8.10`\n- `8.8.3` `8.8`\n- `8.8.2`\n- `8.8.1`\n- `8.6.5` `8.6`\n- `8.6.4`\n- `8.6.3`\n- `8.6.2`\n- `8.6.1`\n- `8.4.4` `8.4`\n- `8.4.3`\n- `8.4.2`\n- `8.4.1`\n- `8.2.2` `8.2`\n- `8.0.2` `8.0`\n- `7.10.3` `7.10`\n\nSuggestion: Try to support the three latest major versions of GHC.\n\n**Cabal:**\n\n- `latest` (default, recommended)\n- `3.2.0.0` `3.2`\n- `3.0.0.0` `3.0`\n- `2.4.1.0` `2.4`\n- `2.4.0.0`\n- `2.2.0.0` `2.2`\n\nRecommendation: Use the latest available version if possible.\n\n**Stack:**\n\n- `latest` (recommended) -- follows the latest release automatically.\n- `2.3.1` `2.3`\n- `2.1.3` `2.1`\n- `2.1.1`\n- `1.9.3.1` `1.9`\n- `1.9.1.1`\n- `1.7.1` `1.7`\n- `1.6.5` `1.6`\n- `1.6.3.1`\n- `1.6.1.1`\n- `1.5.1` `1.5`\n- `1.5.0`\n- `1.4.0` `1.4`\n- `1.3.2` `1.3`\n- `1.3.0`\n- `1.2.0` `1.2`\n\nRecommendation: Use the latest available version if possible.\n\nThe full list of available versions of GHC, Cabal, and Stack are as follows:\n\n- [Linux/macOS - Cabal and GHC](https://www.haskell.org/ghc/download.html)\n- [Windows - Cabal](https://chocolatey.org/packages/cabal#versionhistory).\n- [Windows - GHC](https://chocolatey.org/packages/ghc#versionhistory)\n- [Linux/macOS/Windows - Stack](https://github.com/commercialhaskell/stack/tags)\n\nNote: There are _technically_ some descrepencies here. For example, \"8.10.1-alpha1\" will work for a ghc version for windows but not for Linux and macOS. For your sanity, I suggest sticking with the version lists above which are supported across all three operating systems.\n\n## License\n\nThe scripts and documentation in this project are released under the [MIT License](LICENSE).\n\n## Contributions\n\nContributions are welcome! See the [Contributor's Guide](docs/contributors.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factions%2Fsetup-haskell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factions%2Fsetup-haskell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factions%2Fsetup-haskell/lists"}