Skip to content

Future-proof against potential Prelude.foldl' #52

Future-proof against potential Prelude.foldl'

Future-proof against potential Prelude.foldl' #52

Workflow file for this run

name: Haskell CI
on: [pull_request]
jobs:
cabal:
name: "Cabal: ${{ matrix.ghc }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
matrix:
ghc: ['8.10', '9.0', '9.2']
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout base repo
uses: actions/checkout@v2.3.5
- name: Set up Haskell
id: setup-haskell
uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: 'latest'
- name: Configure
run: cabal new-configure
- name: Freeze
run: cabal freeze
- name: Cache
uses: actions/cache@v2.1.3
with:
path: ${{ steps.setup-haskell.outputs.cabal-store }}
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
restore-keys: ${{ runner.os }}-${{ matrix.ghc }}-
- name: Build
run: cabal build
stack:
name: "Stack: ${{ matrix.resolver }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
resolver: ['lts-18.22', 'nightly-2022-01-20']
steps:
- name: Checkout base repo
uses: actions/checkout@v2.3.5
- name: Set up Haskell
id: setup-haskell
uses: haskell/actions/setup@v1
with:
stack-version: 'latest'
- name: Cache Stack global package DB
uses: actions/cache@v2.1.3
with:
path: ~/.stack
key: ${{ runner.os }}-stack-global-${{ matrix.resolver }}-${{ hashFiles('**.yaml') }}
restore-keys: ${{ runner.os }}-stack-global-${{ matrix.resolver }}
- name: Cache .stack-work
uses: actions/cache@v2.1.3
with:
path: .stack-work
key: ${{ runner.os }}-stack-work-${{ matrix.resolver}}-${{ hashFiles('**.yaml') }}
restore-keys: ${{ runner.os }}-stack-work-${{ matrix.resolver }}
# https://github.com/commercialhaskell/stack/issues/5405
- name: Clear setup-exe-cache directory
if: runner.os == 'macOS'
continue-on-error: true
run: rm -r ~/.stack/setup-exe-cache
- name: Build
run: stack build --resolver=${{ matrix.resolver }}
nix:
runs-on: ubuntu-latest
steps:
- uses: cachix/install-nix-action@v12
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: actions/checkout@v2
- run: nix-build
- run: nix-build release.nix -A tarball
- run: nix-build release.nix -A sdistTest
- run: nix-build release.nix -A docs