Skip to content

Support ghc 9.10

Support ghc 9.10 #54

Workflow file for this run

# packcheck
# You can use any of the options supported by packcheck as environment
# variables here. See https://github.com/composewell/packcheck for all
# options and their explanation.
name: packcheck
#-----------------------------------------------------------------------------
# Events on which the build should be triggered
#-----------------------------------------------------------------------------
on:
push:
branches:
- master
pull_request:
#-----------------------------------------------------------------------------
# Build matrix
#-----------------------------------------------------------------------------
jobs:
build:
name: ${{ matrix.name }}
env:
# Env
CABAL_REINIT_CONFIG: y
LC_ALL: C.UTF-8
# Ghcup and Cabal
GHCUP_VERSION: 0.1.20.0
CABAL_CHECK_RELAX: y
CABAL_HACKAGE_MIRROR: "hackage.haskell.org:http://hackage.fpcomplete.com"
PATH: /opt/ghc/bin:/sbin:/usr/sbin:/bin:/usr/bin
GHCVER: ${{ matrix.ghc_version }}
CABALVER: ${{ matrix.cabal_version }}
# Packcheck
PACKCHECK: "./packcheck.sh"
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
PACKCHECK_GITHUB_COMMIT: "101c73b53473ddfb763d65058b80123991cfeb4f"
# ------------------------------------------------------------------------
# Final build variables
# ------------------------------------------------------------------------
PACKCHECK_COMMAND: ${{ matrix.command }} ${{ matrix.pack_options }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- name: 8.4.4
ghc_version: 8.4.4
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
- name: 8.6.5
ghc_version: 8.6.5
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
- name: 8.8.4
ghc_version: 8.8.4
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
- name: 8.10.7
ghc_version: 8.10.7
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
- name: 8.10.7+no-charts
ghc_version: 8.10.7
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
pack_options: >-
CABAL_BUILD_OPTIONS="-f no-charts"
DISABLE_TEST=y
- name: 8.10.7+no-colors
ghc_version: 8.10.7
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
pack_options: >-
CABAL_BUILD_OPTIONS="-f no-colors"
- name: 9.0.1
ghc_version: 9.0.1
runner: ubuntu-latest
cabal_version: 3.2
command: cabal-v2
- name: 9.2.8
ghc_version: 9.2.8
runner: ubuntu-latest
cabal_version: 3.10.2.1
command: cabal
- name: 9.4.8
ghc_version: 9.4.8
runner: ubuntu-latest
cabal_version: 3.10.2.1
command: cabal
- name: 9.6.4
ghc_version: 9.6.4
runner: ubuntu-latest
cabal_version: 3.10.2.1
command: cabal
- name: 9.8.1
ghc_version: 9.8.1
runner: ubuntu-latest
cabal_version: 3.10.2.1
command: cabal
- name: 9.10.1
ghc_version: 9.10.1
runner: ubuntu-latest
cabal_version: 3.10.2.1
command: cabal
pack_options: >-
CABAL_PROJECT="cabal.project.ghc-9.10"
# - name: hlint
# command: cabal-v2
# runner: ubuntu-latest
# pack_options: >-
# HLINT_OPTIONS="lint"
# HLINT_TARGETS="app lib"
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
name: Cache common directories
with:
path: |
~/.cabal
~/.ghc
~/.local
~/.stack
key: ${{ matrix.ghc_version }}-${{ matrix.runner }}
- name: Setup stack
if: ${{ matrix.command == 'stack' }}
run: |
# required for packcheck
sudo apt-get install -y curl
# required for outbound https for stack and for stack setup
sudo apt-get install -y netbase xz-utils make
# 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
- name: Download packcheck
run: |
# Get packcheck if needed
CURL=$(which curl)
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
if test ! -e "$PACKCHECK"; then $CURL -sL -o "$PACKCHECK" $PACKCHECK_URL; fi;
chmod +x $PACKCHECK
- name: Run packcheck
run: |
bash -c "$PACKCHECK $PACKCHECK_COMMAND"