Skip to content

Merge pull request #355 from morphismtech/ghc_updates #282

Merge pull request #355 from morphismtech/ghc_updates

Merge pull request #355 from morphismtech/ghc_updates #282

Workflow file for this run

name: CI
on:
push:
branches: [ dev ]
pull_request:
branches: [ dev ]
jobs:
ghc_default:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: exampledb
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
with:
enable-stack: true
stack-version: 'latest'
stack-no-global: true
stack-setup-ghc: true
- name: build
run: stack build --fast
- name: test
run: stack test --fast
env:
PG_USER: postgres
PG_HOST: localhost
PG_DATABASE: exampledb
PG_PASSWORD: postgres
PG_PORT: ${{ job.services.postgres.ports['5432'] }}
- name: benchmark
run: stack bench --fast
- name: documentation
run: stack haddock --fast
- name: cache
uses: actions/cache@v3
with:
path: |
".stack-work"
"/root/.stack/"
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
ghc9_4:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: exampledb
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v2
- uses: haskell-actions/setup@v2
with:
enable-stack: true
stack-version: 'latest'
stack-no-global: true
stack-setup-ghc: true
- name: build
run: stack build --fast --stack-yaml stack-ghc9_4.yaml
- name: test
run: stack test --fast --stack-yaml stack-ghc9_4.yaml
env:
PG_USER: postgres
PG_HOST: localhost
PG_DATABASE: exampledb
PG_PASSWORD: postgres
PG_PORT: ${{ job.services.postgres.ports['5432'] }}
- name: benchmark
run: stack bench --fast --stack-yaml stack-ghc9_4.yaml
- name: documentation
run: stack haddock --fast --stack-yaml stack-ghc9_4.yaml
- name: cache
uses: actions/cache@v3
with:
path: |
".stack-work"
"/root/.stack/"
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
ghc9_2:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: exampledb
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v2
- uses: haskell-actions/setup@v2
with:
enable-stack: true
stack-version: 'latest'
stack-no-global: true
stack-setup-ghc: true
- name: build
run: stack build --fast --stack-yaml stack-ghc9_2.yaml
- name: test
run: stack test --fast --stack-yaml stack-ghc9_2.yaml
env:
PG_USER: postgres
PG_HOST: localhost
PG_DATABASE: exampledb
PG_PASSWORD: postgres
PG_PORT: ${{ job.services.postgres.ports['5432'] }}
- name: benchmark
run: stack bench --fast --stack-yaml stack-ghc9_2.yaml
- name: documentation
run: stack haddock --fast --stack-yaml stack-ghc9_2.yaml
- name: cache
uses: actions/cache@v3
with:
path: |
".stack-work"
"/root/.stack/"
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}