diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml new file mode 100644 index 0000000..84adab5 --- /dev/null +++ b/.github/workflows/haskell.yml @@ -0,0 +1,36 @@ +name: Haskell CI + +on: [pull_request] + +jobs: + build: + name: ghc ${{ matrix.ghc }} + runs-on: ubuntu-16.04 + strategy: + matrix: + ghc: ["8.2.2", "8.4.4", "8.6.5", "8.8.1"] + cabal: ["3.0"] + + steps: + - uses: actions/checkout@master + if: github.event.action == 'opened' || github.event.action == 'synchronize' + + - uses: actions/setup-haskell@v1 + name: Setup Haskell + with: + ghc-version: ${{ matrix.ghc }} + cabal-version: ${{ matrix.cabal }} + + - name: Install dependencies + run: | + cabal v2-update + cabal v2-configure --write-ghc-environment-files=always -j2 + cabal v2-build --only-dependencies + + - name: Build & test + run: | + cabal v2-build + cabal v2-run examples + cabal v2-haddock + cabal v2-sdist + cabal check