Skip to content

Bump the upper bound of base for all the build targets #442

Bump the upper bound of base for all the build targets

Bump the upper bound of base for all the build targets #442

Workflow file for this run

name: Haskell CI
on:
push:
branches:
- master
pull_request:
jobs:
build:
name: ${{ matrix.name }}
env:
# ------------------------------------------------------------------------
# Common options
# ------------------------------------------------------------------------
CABAL_REINIT_CONFIG: y
LC_ALL: C.UTF-8
DISABLE_TEST: n
# ------------------------------------------------------------------------
# cabal options
# ------------------------------------------------------------------------
CABAL_CHECK_RELAX: y
CABAL_NO_SANDBOX: y
CABAL_HACKAGE_MIRROR: "hackage.haskell.org:http://hackage.fpcomplete.com"
# ------------------------------------------------------------------------
# Location of packcheck.sh
# ------------------------------------------------------------------------
PACKCHECK_LOCAL_PATH: "./packcheck.sh"
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
PACKCHECK_GITHUB_COMMIT: "e575ff318c93add2a6d3f9107a52c5e37c666a98"
# ------------------------------------------------------------------------
# Build options
# ------------------------------------------------------------------------
GHCUP_VERSION: 0.1.20.0
BUILD: cabal-v2 ${{ matrix.pack_options }}
GHCVER: ${{ matrix.ghc_version }}
CABALVER: ${{ matrix.cabal_version }}
runs-on: ${{ matrix.runner }}
# [NOTE] The following is a hack to fix the lack of “allow-failure” feature.
# All configurations should set “ignore_error” to false, except for “head”.
continue-on-error: ${{ matrix.ignore_error }}
strategy:
fail-fast: false
matrix:
name:
- 8.0.2
- 8.2.2
- 8.4.4
- 8.6.5
- 8.8.4
- 8.10.7
- 9.0.2
- 9.2.8+ucd2haskell
- 9.4.8
- 9.4.8+macOS
- 9.6.5
- 9.8.2
- 9.10.1+ucd2haskell
- 9.12.1-alpha
- hlint
include:
- name: 8.0.2
ghc_version: 8.0.2
runner: ubuntu-latest
cabal_version: 3.2.0.0
pack_options: DISABLE_TEST=y
ignore_error: false
- name: 8.2.2
ghc_version: 8.2.2
runner: ubuntu-latest
cabal_version: 3.2.0.0
pack_options: DISABLE_TEST=y
ignore_error: false
- name: 8.4.4
ghc_version: 8.4.4
runner: ubuntu-latest
cabal_version: 3.2.0.0
pack_options: DISABLE_TEST=y
ignore_error: false
- name: 8.6.5
ghc_version: 8.6.5
runner: ubuntu-latest
cabal_version: 3.2.0.0
ignore_error: false
- name: 8.8.4
ghc_version: 8.8.4
runner: ubuntu-latest
cabal_version: 3.2.0.0
ignore_error: false
- name: 8.10.7
ghc_version: 8.10.7
runner: ubuntu-latest
cabal_version: 3.2.0.0
ignore_error: false
- name: 9.0.2
ghc_version: 9.0.2
runner: ubuntu-latest
cabal_version: 3.2.0.0
ignore_error: false
- name: 9.2.8+ucd2haskell
ghc_version: 9.2.8
# [NOTE] Oldest version supported by ucd2haskell
pack_options: CABAL_BUILD_OPTIONS="-f ucd2haskell"
runner: ubuntu-latest
cabal_version: 3.6.2.0
ignore_error: false
- name: 9.4.8
ghc_version: 9.4.8
runner: ubuntu-latest
cabal_version: 3.8.1.0
ignore_error: false
- name: 9.4.8+macOS
ghc_version: 9.4.8
runner: macos-latest
cabal_version: 3.10.1.0
ignore_error: false
- name: 9.6.5
ghc_version: 9.6.5
runner: ubuntu-latest
cabal_version: 3.10.1.0
ignore_error: false
- name: 9.8.2
ghc_version: 9.8.2
cabal_version: 3.12.1.0
runner: ubuntu-latest
ignore_error: false
- name: 9.10.1+ucd2haskell
ghc_version: 9.10.1
cabal_version: 3.12.1.0
pack_options: CABAL_BUILD_OPTIONS="-f ucd2haskell"
runner: ubuntu-latest
ignore_error: false
- name: 9.12.1-alpha
ghc_version: head
cabal_version: 3.12.1.0
pack_options: GHCUP_GHC_OPTIONS="-u https://downloads.haskell.org/ghc/9.12.1-alpha1/ghc-9.12.20241014-x86_64-deb12-linux.tar.xz" DISABLE_TEST=y
runner: ubuntu-latest
ignore_error: false
# Template for release candidates
# - name: 9.10.0
# ghc_version: 9.8.0.XXXXX
# ghcup_release_channel: "https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml"
# runner: ubuntu-latest
# cabal_version: latest
# ignore_error: false
- name: hlint
pack_options: HLINT_OPTIONS="lint" HLINT_TARGETS="lib exe"
runner: ubuntu-latest
cabal_version: 3.2.0.0
ignore_error: false
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
name: Cache ~/.cabal
with:
path: ~/.cabal
key: ${{ runner.os }}-${{ matrix.ghc_version }}-1
- name: Download packcheck
run: |
if test ! -e "$PACKCHECK_LOCAL_PATH"
then
if test -z "$PACKCHECK_GITHUB_COMMIT"
then
die "PACKCHECK_GITHUB_COMMIT is not specified."
fi
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
curl --fail -sL -o "$PACKCHECK_LOCAL_PATH" $PACKCHECK_URL || exit 1
chmod +x $PACKCHECK_LOCAL_PATH
elif test ! -x "$PACKCHECK_LOCAL_PATH"
then
chmod +x $PACKCHECK_LOCAL_PATH
fi
- name: Run packcheck
run: |
# /usr/local/opt/curl/bin for macOS
export PATH=$HOME/.local/bin:$HOME/.ghcup/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/opt/curl/bin
bash -x -c "$PACKCHECK_LOCAL_PATH $BUILD"