Skip to content

Add CI for MicroHs

Add CI for MicroHs #1

Workflow file for this run

name: MicroHs
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: checkout mhs repo
uses: actions/checkout@v4
with:
repository: augustss/MicroHs
path: mhs
- name: make and install mhs
run: |
cd mhs
make minstall
echo "$HOME/.mcabal/bin" >> "$GITHUB_PATH"
# ghc-compat
# must be installed before any other packages since there is an implicit dependency on ghc-compat
- name: compile and install ghc-compat package
run: |
mcabal install ghc-compat
# array-mhs
- name: compile and install array-mhs package
run: |
mcabal install array
# containers
- name: compile and install containers package
run: |
mcabal install containers
# transformers
- name: compile and install transformers package
run: |
mcabal install transformers
# time
- name: compile and install time package
run: |
mcabal install time
- name: compile and install polyparse
run: |
mcabal install polyparse
- name: compile and install cpphs
run: |
mcabal install cpphs
# malcolm-wallace-universe
# this have not been uploaded to hackage
- name: checkout malcolm-wallace-universe repo
uses: actions/checkout@v4
with:
repository: hackage-trustees/malcolm-wallace-universe
path: malcolm-wallace-universe
- name: compile and install hscolour
run: |
cd malcolm-wallace-universe/hscolour-1.24.4
mcabal install
# mtl-mhs
- name: compile and install mtl-mhs package
run: |
mcabal install mtl
# pretty
# not yet uploaded to hackage
- name: compile and install pretty package
run: |
mcabal install --git=http://github.com/haskell/pretty.git pretty
# parsec
# patch not merged and uploaded to hackage
- name: compile and install parsec package
run: |
mcabal install --git=http://github.com/augustss/parsec.git parsec
# splitmix
- name: compile and install splitmix package
run: |
mcabal install splitmix
# random-mhs
- name: compile and install random-mhs package
run: |
mcabal install random
# granite
# not on hackage at all
- name: checkout granite repo
uses: actions/checkout@v4
with:
repository: mchav/granite
path: granite
- name: compile and install granite package
run: |
cd granite
mcabal install
# split
- name: compile and install split package
run: |
mcabal install split
# monad-loops
- name: compile and install monad-loops package
run: |
mcabal install monad-loops
# tagged
# not uploaded to hackage
- name: compile and install tagged package
run: |
mcabal install --git=http://github.com/ekmett/tagged.git tagged
# exceptions
# not uploaded to hackage
- name: compile and install exceptions package
run: |
mcabal install --git=http://github.com/ekmett/exceptions.git exceptions
# os-string
# not merged and uploaded to hackage
- name: compile and install os-string package
run: |
mcabal install --git=http://github.com/augustss/os-string.git os-string
# filepath
# not merged and uploaded to hackage
- name: compile and install filepath package
run: |
mcabal install --git=http://github.com/augustss/filepath.git filepath
# tagsoup
- name: compile and install tagsoup package
run: |
mcabal install tagsoup
# unordered-containers
# not merged and uploaded to hackage
- name: compile and install unordered-containers package
run: |
mcabal install --git=http://github.com/augustss/unordered-containers.git unordered-containers
# async
# not merged and uploaded to hackage
- name: compile and install async package
run: |
mcabal install --git=http://github.com/augustss/async.git async
# QuickCheck
# not in stackage yet
- name: compile and install async package
run: |
mcabal install --git=http://github.com/nick8325/quickcheck QuickCheck
# colour
- name: compile and install colour package
run: |
mcabal install colour
# ansi-terminal-types
- name: compile and install ansi-terminal-types package
run: |
mcabal install ansi-terminal-types
# ansi-terminal
- name: compile and install ansi-terminal package
run: |
mcabal install ansi-terminal