Skip to content

Haskell

Haskell #75

Workflow file for this run

name: build
on:
push:
branches:
- main
paths:
- ".github/workflows/**"
- "bench/**"
- "exe/**"
- "src/**"
- "test/**"
- "package.yaml"
- "stack*.yaml"
pull_request:
branches:
- main
jobs:
build:
strategy:
matrix:
resolver:
- stack
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Haskell
id: "install-haskell"
uses: haskell/actions/setup@v2
with:
ghc-version: "8.10.7"
enable-stack: true
stack-version: "latest"
- name: Cache .stack
id: cache-stack
uses: actions/[email protected]
with:
path: ${{ steps.install-haskell.outputs.stack-root }}
key: ${{ runner.os }}-${{ matrix.resolver }}-${{ hashFiles(format('{0}.yaml', matrix.resolver)) }}
restore-keys: |
${{ runner.os }}-${{ matrix.resolver }}-
${{ runner.os }}-
- name: Install dependencies
run: |
stack --system-ghc --stack-yaml=${{ matrix.resolver }}.yaml --no-terminal build --only-dependencies --fast --test --haddock --bench
- name: Build
id: build
run: |
stack --system-ghc --stack-yaml=${{ matrix.resolver }}.yaml --no-terminal build --fast --test --bench --haddock --no-run-tests --no-run-benchmarks
- name: Deploy documentation
if: ${{ github.ref == 'refs/heads/main' }}
uses: JamesIves/[email protected]
with:
branch: haddock
folder: docs
### uncomment the following lines in order to run the tests every time you
### push to your repository
# - name: Test
# id: test
# run: |
# stack --system-ghc --stack-yaml=${{ matrix.resolver }}.yaml --no-terminal build --fast --test