git.iko.soy/typeable/http-api-data
on master help sign in
Relaxe bounds: base, hashable, hspec
fa4497aOleg Grenrus
.github/workflows/haskell-ci.yml+45−13
@@ -8,9 +8,9 @@
8#
8#
9# For more information, see https://github.com/haskell-CI/haskell-ci
9# For more information, see https://github.com/haskell-CI/haskell-ci
10#
10#
11−# version: 0.13.20210827
11+# version: 0.13.20211111
12#
12#
13−# REGENDATA ("0.13.20210827",["github","cabal.project"])
13+# REGENDATA ("0.13.20211111",["github","cabal.project"])
14#
14#
15name: Haskell-CI
15name: Haskell-CI
16on:
16on:
@@ -24,21 +24,28 @@ jobs:
24 linux:
24 linux:
25 name: Haskell-CI - Linux - ${{ matrix.compiler }}
25 name: Haskell-CI - Linux - ${{ matrix.compiler }}
26 runs-on: ubuntu-18.04
26 runs-on: ubuntu-18.04
27+ timeout-minutes:
28+ 60
27 container:
29 container:
28 image: buildpack-deps:bionic
30 image: buildpack-deps:bionic
29 continue-on-error: ${{ matrix.allow-failure }}
31 continue-on-error: ${{ matrix.allow-failure }}
30 strategy:
32 strategy:
31 matrix:
33 matrix:
32 include:
34 include:
35+ - compiler: ghc-9.2.1
36+ compilerKind: ghc
37+ compilerVersion: 9.2.1
38+ setup-method: ghcup
39+ allow-failure: false
33 - compiler: ghc-9.0.1
40 - compiler: ghc-9.0.1
34 compilerKind: ghc
41 compilerKind: ghc
35 compilerVersion: 9.0.1
42 compilerVersion: 9.0.1
36 setup-method: hvr-ppa
43 setup-method: hvr-ppa
37 allow-failure: false
44 allow-failure: false
38− - compiler: ghc-8.10.4
45+ - compiler: ghc-8.10.7
39 compilerKind: ghc
46 compilerKind: ghc
40− compilerVersion: 8.10.4
47+ compilerVersion: 8.10.7
41− setup-method: hvr-ppa
48+ setup-method: ghcup
42 allow-failure: false
49 allow-failure: false
43 - compiler: ghc-8.8.4
50 - compiler: ghc-8.8.4
44 compilerKind: ghc
51 compilerKind: ghc
@@ -81,9 +88,21 @@ jobs:
81 run: |
88 run: |
82 apt-get update
89 apt-get update
83 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
90 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
91+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
92+ mkdir -p "$HOME/.ghcup/bin"
93+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
94+ chmod a+x "$HOME/.ghcup/bin/ghcup"
95+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
96+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
97+ else
84− apt-add-repository -y 'ppa:hvr/ghc'
98+ apt-add-repository -y 'ppa:hvr/ghc'
85− apt-get update
99+ apt-get update
86− apt-get install -y "$HCNAME" cabal-install-3.4
100+ apt-get install -y "$HCNAME"
101+ mkdir -p "$HOME/.ghcup/bin"
102+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
103+ chmod a+x "$HOME/.ghcup/bin/ghcup"
104+ "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
105+ fi
87 env:
106 env:
88 HCKIND: ${{ matrix.compilerKind }}
107 HCKIND: ${{ matrix.compilerKind }}
89 HCNAME: ${{ matrix.compiler }}
108 HCNAME: ${{ matrix.compiler }}
@@ -95,11 +114,20 @@ jobs:
95 echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
114 echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
96 echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
115 echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
97 HCDIR=/opt/$HCKIND/$HCVER
116 HCDIR=/opt/$HCKIND/$HCVER
117+ if [ "${{ matrix.setup-method }}" = ghcup ]; then
118+ HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
119+ echo "HC=$HC" >> "$GITHUB_ENV"
120+ echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
121+ echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
122+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
123+ else
98− HC=$HCDIR/bin/$HCKIND
124+ HC=$HCDIR/bin/$HCKIND
99− echo "HC=$HC" >> "$GITHUB_ENV"
125+ echo "HC=$HC" >> "$GITHUB_ENV"
100− echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
126+ echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
101− echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
127+ echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
102− echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> "$GITHUB_ENV"
128+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
129+ fi
130+
103 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
131 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
104 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
132 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
105 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
133 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -133,6 +161,10 @@ jobs:
133 repository hackage.haskell.org
161 repository hackage.haskell.org
134 url: http://hackage.haskell.org/
162 url: http://hackage.haskell.org/
135 EOF
163 EOF
164+ cat >> $CABAL_CONFIG <<EOF
165+ program-default-options
166+ ghc-options: $GHCJOBS +RTS -M3G -RTS
167+ EOF
136 cat $CABAL_CONFIG
168 cat $CABAL_CONFIG
137 - name: versions
169 - name: versions
138 run: |
170 run: |
http-api-data.cabal+8−7
@@ -1,7 +1,7 @@
1cabal-version: >= 1.10
1cabal-version: >= 1.10
2name: http-api-data
2name: http-api-data
3version: 0.4.3
3version: 0.4.3
4−x-revision: 3
4+x-revision: 4
5
5
6synopsis: Converting to/from HTTP API data like URL pieces, headers and query parameters.
6synopsis: Converting to/from HTTP API data like URL pieces, headers and query parameters.
7category: Web
7category: Web
@@ -32,8 +32,9 @@ tested-with:
32 GHC==8.4.4,
32 GHC==8.4.4,
33 GHC==8.6.5,
33 GHC==8.6.5,
34 GHC==8.8.4,
34 GHC==8.8.4,
35− GHC==8.10.4,
35+ GHC==8.10.7,
36− GHC==9.0.1
36+ GHC==9.0.1,
37+ GHC==9.2.1
37
38
38flag use-text-show
39flag use-text-show
39 description: Use text-show library for efficient ToHttpApiData implementations.
40 description: Use text-show library for efficient ToHttpApiData implementations.
@@ -45,7 +46,7 @@ library
45 include-dirs: include/
46 include-dirs: include/
46
47
47 -- GHC bundled
48 -- GHC bundled
48− build-depends: base >= 4.7 && < 4.16
49+ build-depends: base >= 4.7 && < 4.17
49 , bytestring >= 0.10.4.0 && < 0.12
50 , bytestring >= 0.10.4.0 && < 0.12
50 , containers >= 0.5.5.1 && < 0.7
51 , containers >= 0.5.5.1 && < 0.7
51 , text >= 1.2.3.0 && < 1.3
52 , text >= 1.2.3.0 && < 1.3
@@ -61,7 +62,7 @@ library
61 , attoparsec-iso8601 >= 1.0.2.0 && < 1.1
62 , attoparsec-iso8601 >= 1.0.2.0 && < 1.1
62 , base-compat >= 0.10.5 && < 0.13
63 , base-compat >= 0.10.5 && < 0.13
63 , cookie >= 0.4.3 && < 0.5
64 , cookie >= 0.4.3 && < 0.5
64− , hashable >= 1.2.7.0 && < 1.4
65+ , hashable >= 1.2.7.0 && < 1.5
65 , http-types >= 0.12.3 && < 0.13
66 , http-types >= 0.12.3 && < 0.13
66 , tagged >= 0.8.5 && < 0.9
67 , tagged >= 0.8.5 && < 0.9
67 , time-compat >= 1.9.5 && < 1.10
68 , time-compat >= 1.9.5 && < 1.10
@@ -98,7 +99,7 @@ test-suite spec
98 hs-source-dirs: test
99 hs-source-dirs: test
99 ghc-options: -Wall
100 ghc-options: -Wall
100 default-language: Haskell2010
101 default-language: Haskell2010
101− build-tool-depends: hspec-discover:hspec-discover >= 2.7.1 && <2.9
102+ build-tool-depends: hspec-discover:hspec-discover >= 2.7.1 && <2.10
102 -- inherited depndencies
103 -- inherited depndencies
103 build-depends:
104 build-depends:
104 base
105 base
@@ -115,7 +116,7 @@ test-suite spec
115 build-depends: nats
116 build-depends: nats
116
117
117 build-depends: HUnit >= 1.6.0.0 && <1.7
118 build-depends: HUnit >= 1.6.0.0 && <1.7
118− , hspec >= 2.7.1 && <2.9
119+ , hspec >= 2.7.1 && <2.10
119 , QuickCheck >= 2.13.1 && <2.15
120 , QuickCheck >= 2.13.1 && <2.15
120 , quickcheck-instances >= 0.3.25.2 && <0.4
121 , quickcheck-instances >= 0.3.25.2 && <0.4
121
122