Skip to content

Fix the CI

Fix the CI #280

Workflow file for this run

name: Haskell CI
on:
push:
branches:
- master
pull_request:
jobs:
build:
name: GHC ${{ matrix.name }}
env:
CABAL_REINIT_CONFIG: y
LC_ALL: C.UTF-8
STACK_UPGRADE: "y"
CABAL_CHECK_RELAX: y
PACKCHECK: "./packcheck.sh"
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
PACKCHECK_GITHUB_COMMIT: "101c73b53473ddfb763d65058b80123991cfeb4f"
BUILD: ${{ matrix.build }}
GHCUP_VERSION: 0.1.20.0
GHCVER: ${{ matrix.ghc_version }}
CABALVER: ${{ matrix.cabal_version }}
CABAL_BUILD_OPTIONS: ${{ matrix.cabal_build_options }}
CABAL_PROJECT: ${{ matrix.cabal_project }}
DISABLE_DOCS: "y"
DISABLE_TEST: "y"
DISABLE_BENCH: "y"
DISABLE_SDIST_BUILD: ${{ matrix.disable_sdist_build }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- name: 9.8.1
ghc_version: 9.8.1
runner: ubuntu-latest
build: cabal
cabal_project: cabal.project.user
cabal_version: 3.10.1.0
disable_sdist_build: "y"
ignore_error: false
- name: 9.6.3-macos
ghc_version: 9.6.3
runner: macos-latest
build: cabal
cabal_project: cabal.project.user
disable_sdist_build: "y"
cabal_version: 3.10.1.0
cabal_build_options: "--flag interop"
ignore_error: false
- name: 9.4.4
ghc_version: 9.4.4
runner: ubuntu-latest
build: cabal
cabal_project: cabal.project.user
cabal_version: 3.8.1.0
disable_sdist_build: "y"
ignore_error: false
- name: 9.2.7
ghc_version: 9.2.7
runner: ubuntu-latest
build: cabal
cabal_project: cabal.project.user
cabal_version: 3.6.2.0
disable_sdist_build: "y"
ignore_error: false
- name: 8.10.7 # There is some llvm versioning issue in 8.10.7 and the
# mac machine
ghc_version: 8.10.7
runner: ubuntu-latest
build: cabal
cabal_project: cabal.project.user
disable_sdist_build: "y"
cabal_version: 3.6.2.0
ignore_error: false
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v1
name: Cache common directories
with:
path: |
~/.cabal
~/.ghc
~/.local
~/.stack
~/.ghcup
key: ${{ runner.os }}-${{ matrix.ghc_version }}-cabal
- name: Download packcheck
run: |
# If a custom stack-yaml is specified, replace the default with that
#if test -e "$STACK_YAML"; then rm -f stack.yaml && ln -sv $STACK_YAML stack.yaml; else true; fi
#unset STACK_YAML
if test ! -e "$PACKCHECK"
then
if test -z "$PACKCHECK_GITHUB_COMMIT"
then
die "PACKCHECK_GITHUB_COMMIT is not specified."
fi
CURL=$(which curl)
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
$CURL -sL -o "$PACKCHECK" $PACKCHECK_URL
chmod +x $PACKCHECK
elif test ! -x "$PACKCHECK"
then
chmod +x $PACKCHECK
fi
- name: Run packcheck
run: |
bash -c "$PACKCHECK $BUILD"