Skip to content

haskell/ghcup-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

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GHCup action

A simple github action to install ghcup binary on any system and add it to PATH.

Usage

See action.yml

Minimal

on: [push]
name: build
jobs:
  runhaskell:
    name: Hello World
    runs-on: ubuntu-latest # or macOS-latest, or windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: haskell/ghcup-setup@v1
      - run: |
          ghcup install ghc --set latest
          runhaskell Hello.hs

Matrix testing with prereleases

on: [push]
name: build
jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        ghc: ['8.6.5', '8.8.4', 'latest-prerelease']
        cabal: ['2.4.1.0', '3.0.0.0']
        os: [ubuntu-latest, macOS-latest, windows-latest]
        exclude:
          - ghc: 8.8.4
            cabal: 2.4.1.0
    name: Haskell GHC ${{ matrix.ghc }} sample
    steps:
      - uses: actions/checkout@v4
      - uses: haskell/ghcup-setup@v1
        with:
          ghc: ${{ matrix.ghc }}
          cabal: ${{ matrix.cabal }}
          config: |
            # see https://github.com/haskell/ghcup-hs/blob/master/data/config.yaml
            # for full documentation
            url-source:
              - GHCupURL
              - prereleases
      - run: |
          runhaskell Hello.hs

Inputs

Name Description Type Default
version GHCup version to install string latest
ghc GHC version to install string undefined
cabal cabal-install version to install string undefined
stack Stack version to install string undefined
hls HLS version to install string undefined
config Set ghcup config string[] []
stack-hook Install the GHCup stack hook (GHCs are installed through ghcup) boolean false

Outputs

Name Description Type
path Path to the installed GHCup string
version Version of the installed GHCup string
basedir Base directory of GHCup string
bindir Binary directory of GHCup string
cachedir Cache directory of GHCup string
logsdir Log directory of GHCup string
confdir Config directory of GHCup string