ci: Drop support for GHC 8.4

Debian stable is not on 8.6, which was always our guide as to which GHC
versions we want to support.

In particular, this lets us get rid of all the quickcheck-classes
special treatment.

Related: 400730fe3b
This commit is contained in:
Tony Zorman 2022-11-18 19:17:04 +01:00
parent 78719507a9
commit 5c7c28060c
6 changed files with 6 additions and 33 deletions

View File

@ -66,11 +66,6 @@ jobs:
compilerVersion: 8.6.5 compilerVersion: 8.6.5
setup-method: hvr-ppa setup-method: hvr-ppa
allow-failure: false allow-failure: false
- compiler: ghc-8.4.4
compilerKind: ghc
compilerVersion: 8.4.4
setup-method: hvr-ppa
allow-failure: false
fail-fast: false fail-fast: false
steps: steps:
- name: apt - name: apt

View File

@ -12,7 +12,6 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- resolver: lts-12 # GHC 8.4
- resolver: lts-14 # GHC 8.6 - resolver: lts-14 # GHC 8.6
- resolver: lts-16 # GHC 8.8 - resolver: lts-16 # GHC 8.8
- resolver: lts-18 # GHC 8.10 - resolver: lts-18 # GHC 8.10

View File

@ -4,6 +4,8 @@
### Breaking Changes ### Breaking Changes
* Dropped support for GHC 8.4.
### Enhancements ### Enhancements
* Exported `sendRestart` and `sendReplace` from `XMonad.Operations`. * Exported `sendRestart` and `sendReplace` from `XMonad.Operations`.

View File

@ -6,13 +6,6 @@ packages:
extra-deps: extra-deps:
- X11-1.10 - X11-1.10
flags:
xmonad:
# stack doesn't support automatic flags
# https://cabal.readthedocs.io/en/latest/cabal-package.html#resolution-of-conditions-and-flags
# https://github.com/commercialhaskell/stack/issues/1313#issuecomment-157259270
quickcheck-classes: false
nix: nix:
packages: packages:
- zlib - zlib

View File

@ -1,9 +1,5 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ScopedTypeVariables #-}
#ifdef VERSION_quickcheck_classes
{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}
#endif
module Properties.Stack where module Properties.Stack where
@ -15,13 +11,11 @@ import qualified XMonad.StackSet as S (filter)
import Data.Maybe import Data.Maybe
#ifdef VERSION_quickcheck_classes
import Data.Proxy import Data.Proxy
import Test.QuickCheck.Classes ( import Test.QuickCheck.Classes (
Laws (lawsTypeclass, lawsProperties), Proxy1 (Proxy1), Laws (lawsTypeclass, lawsProperties), Proxy1 (Proxy1),
foldableLaws, traversableLaws, foldableLaws, traversableLaws,
) )
#endif
-- The list returned by index should be the same length as the actual -- The list returned by index should be the same length as the actual
@ -65,7 +59,6 @@ prop_differentiate xs =
where _ = xs :: [Int] where _ = xs :: [Int]
#ifdef VERSION_quickcheck_classes
-- Check type class laws of 'Data.Foldable.Foldable' and 'Data.Traversable.Traversable'. -- Check type class laws of 'Data.Foldable.Foldable' and 'Data.Traversable.Traversable'.
newtype TestStack a = TestStack (Stack a) newtype TestStack a = TestStack (Stack a)
deriving (Eq, Read, Show, Foldable, Functor) deriving (Eq, Read, Show, Foldable, Functor)
@ -82,6 +75,3 @@ prop_laws_Stack = format (foldableLaws p) <> format (traversableLaws p)
p = Proxy :: Proxy TestStack p = Proxy :: Proxy TestStack
format laws = [ ("Stack: " <> lawsTypeclass laws <> ": " <> name, prop) format laws = [ ("Stack: " <> lawsTypeclass laws <> ": " <> name, prop)
| (name, prop) <- lawsProperties laws ] | (name, prop) <- lawsProperties laws ]
#else
prop_laws_Stack = []
#endif

View File

@ -27,7 +27,7 @@ author: Spencer Janssen, Don Stewart, Adam Vogt, David Roundy, Jason
Ondřej Súkup, Paul Hebble, Shachaf Ben-Kiki, Siim Põder, Tim McIver, Ondřej Súkup, Paul Hebble, Shachaf Ben-Kiki, Siim Põder, Tim McIver,
Trevor Elliott, Wouter Swierstra, Conrad Irwin, Tim Thelion, Tony Zorman Trevor Elliott, Wouter Swierstra, Conrad Irwin, Tim Thelion, Tony Zorman
maintainer: xmonad@haskell.org maintainer: xmonad@haskell.org
tested-with: GHC == 8.4.4 || == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.5 || == 9.4.2 tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.5 || == 9.4.2
category: System category: System
homepage: http://xmonad.org homepage: http://xmonad.org
bug-reports: https://github.com/xmonad/xmonad/issues bug-reports: https://github.com/xmonad/xmonad/issues
@ -54,8 +54,6 @@ flag pedantic
default: False default: False
manual: True manual: True
flag quickcheck-classes
library library
exposed-modules: XMonad exposed-modules: XMonad
XMonad.Config XMonad.Config
@ -83,7 +81,7 @@ library
default-language: Haskell2010 default-language: Haskell2010
-- Keep this in sync with the oldest version in 'tested-with' -- Keep this in sync with the oldest version in 'tested-with'
if impl(ghc > 8.4.4) if impl(ghc > 8.6.5)
ghc-options: -Wno-unused-imports ghc-options: -Wno-unused-imports
if flag(pedantic) if flag(pedantic)
@ -96,7 +94,7 @@ executable xmonad
default-language: Haskell2010 default-language: Haskell2010
-- Keep this in sync with the oldest version in 'tested-with' -- Keep this in sync with the oldest version in 'tested-with'
if impl(ghc > 8.4.4) if impl(ghc > 8.6.5)
ghc-options: -Wno-unused-imports ghc-options: -Wno-unused-imports
if flag(pedantic) if flag(pedantic)
@ -125,15 +123,11 @@ test-suite properties
hs-source-dirs: tests hs-source-dirs: tests
build-depends: base build-depends: base
, QuickCheck >= 2 , QuickCheck >= 2
, quickcheck-classes >= 0.4.3
, X11 , X11
, containers , containers
, xmonad , xmonad
default-language: Haskell2010 default-language: Haskell2010
if flag(quickcheck-classes) && impl(ghc > 8.5)
-- no quickcheck-classes in LTS-12
-- GHC 8.4 and lower needs too much boilerplate (Eq1, Show1, …)
build-depends: quickcheck-classes >= 0.4.3
if flag(pedantic) if flag(pedantic)
ghc-options: -Werror ghc-options: -Werror