git.iko.soy/typeable/http-api-data
on master help sign in
Merge pull request #110 from fizruk/ghc-9.0
84159a7Oleg Grenrus
.github/workflows/haskell-ci.yml+20−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.11.20210101
11+# version: 0.11.20210220
12#
12#
13−# REGENDATA ("0.11.20210101",["github","cabal.project"])
13+# REGENDATA ("0.11.20210220",["github","cabal.project"])
14#
14#
15name: Haskell-CI
15name: Haskell-CI
16on:
16on:
@@ -22,7 +22,7 @@ on:
22 - master
22 - master
23jobs:
23jobs:
24 linux:
24 linux:
25− name: Haskell-CI Linux - GHC ${{ matrix.ghc }}
25+ name: Haskell-CI - Linux - GHC ${{ matrix.ghc }}
26 runs-on: ubuntu-18.04
26 runs-on: ubuntu-18.04
27 container:
27 container:
28 image: buildpack-deps:bionic
28 image: buildpack-deps:bionic
@@ -30,7 +30,9 @@ jobs:
30 strategy:
30 strategy:
31 matrix:
31 matrix:
32 include:
32 include:
33− - ghc: 8.10.3
33+ - ghc: 9.0.1
34+ allow-failure: false
35+ - ghc: 8.10.4
34 allow-failure: false
36 allow-failure: false
35 - ghc: 8.8.4
37 - ghc: 8.8.4
36 allow-failure: false
38 allow-failure: false
@@ -54,7 +56,7 @@ jobs:
54 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
56 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
55 apt-add-repository -y 'ppa:hvr/ghc'
57 apt-add-repository -y 'ppa:hvr/ghc'
56 apt-get update
58 apt-get update
57− apt-get install -y ghc-$GHC_VERSION cabal-install-3.2
59+ apt-get install -y ghc-$GHC_VERSION cabal-install-3.4
58 env:
60 env:
59 GHC_VERSION: ${{ matrix.ghc }}
61 GHC_VERSION: ${{ matrix.ghc }}
60 - name: Set PATH and environment variables
62 - name: Set PATH and environment variables
@@ -67,12 +69,13 @@ jobs:
67 echo "HC=$HC" >> $GITHUB_ENV
69 echo "HC=$HC" >> $GITHUB_ENV
68 echo "HCPKG=/opt/ghc/$GHC_VERSION/bin/ghc-pkg" >> $GITHUB_ENV
70 echo "HCPKG=/opt/ghc/$GHC_VERSION/bin/ghc-pkg" >> $GITHUB_ENV
69 echo "HADDOCK=/opt/ghc/$GHC_VERSION/bin/haddock" >> $GITHUB_ENV
71 echo "HADDOCK=/opt/ghc/$GHC_VERSION/bin/haddock" >> $GITHUB_ENV
70− echo "CABAL=/opt/cabal/3.2/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
72+ echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
71 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
73 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
72 echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
74 echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
73 echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
75 echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
74 echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
76 echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
77+ echo "HEADHACKAGE=false" >> $GITHUB_ENV
75− echo "ARG_COMPILER=--ghc --with-compiler=/opt/ghc/$GHC_VERSION/bin/ghc" >> $GITHUB_ENV
78+ echo "ARG_COMPILER=--ghc --with-compiler=$HC" >> $GITHUB_ENV
76 echo "GHCJSARITH=0" >> $GITHUB_ENV
79 echo "GHCJSARITH=0" >> $GITHUB_ENV
77 env:
80 env:
78 GHC_VERSION: ${{ matrix.ghc }}
81 GHC_VERSION: ${{ matrix.ghc }}
@@ -110,7 +113,7 @@ jobs:
110 - name: cache (tools)
113 - name: cache (tools)
111 uses: actions/cache@v2
114 uses: actions/cache@v2
112 with:
115 with:
113− key: ${{ runner.os }}-${{ matrix.ghc }}-tools-b869866c
116+ key: ${{ runner.os }}-${{ matrix.ghc }}-tools-0d2d184d
114 path: ~/.haskell-ci-tools
117 path: ~/.haskell-ci-tools
115 - name: install cabal-plan
118 - name: install cabal-plan
116 run: |
119 run: |
@@ -123,16 +126,20 @@ jobs:
123 cabal-plan --version
126 cabal-plan --version
124 - name: install doctest
127 - name: install doctest
125 run: |
128 run: |
126− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.17' ; fi
129+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then $CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.17' ; fi
127− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then doctest --version ; fi
130+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then doctest --version ; fi
128 - name: checkout
131 - name: checkout
129 uses: actions/checkout@v2
132 uses: actions/checkout@v2
130 with:
133 with:
131 path: source
134 path: source
135+ - name: initial cabal.project for sdist
136+ run: |
137+ touch cabal.project
138+ echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
139+ cat cabal.project
132 - name: sdist
140 - name: sdist
133 run: |
141 run: |
134 mkdir -p sdist
142 mkdir -p sdist
135− cd source || false
136 $CABAL sdist all --output-dir $GITHUB_WORKSPACE/sdist
143 $CABAL sdist all --output-dir $GITHUB_WORKSPACE/sdist
137 - name: unpack
144 - name: unpack
138 run: |
145 run: |
@@ -178,8 +185,8 @@ jobs:
178 - name: doctest
185 - name: doctest
179 run: |
186 run: |
180 perl -i -e 'while (<ARGV>) { print unless /package-id\s+(base-compat)-\d+(\.\d+)*/; }' .ghc.environment.*
187 perl -i -e 'while (<ARGV>) { print unless /package-id\s+(base-compat)-\d+(\.\d+)*/; }' .ghc.environment.*
181− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then cd ${PKGDIR_http_api_data} || false ; fi
188+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then cd ${PKGDIR_http_api_data} || false ; fi
182− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then doctest src/ ; fi
189+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then doctest src/ ; fi
183 - name: cabal check
190 - name: cabal check
184 run: |
191 run: |
185 cd ${PKGDIR_http_api_data} || false
192 cd ${PKGDIR_http_api_data} || false
cabal.haskell-ci+1−1
@@ -1,5 +1,5 @@
1branches: master
1branches: master
2−doctest: True
2+doctest: <9
3doctest-filter-packages: base-compat
3doctest-filter-packages: base-compat
4
4
5constraint-set text-show
5constraint-set text-show
http-api-data.cabal+5−3
@@ -1,6 +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: 1
4
5
5synopsis: 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.
6category: Web
7category: Web
@@ -31,7 +32,8 @@ tested-with:
31 GHC==8.4.4,
32 GHC==8.4.4,
32 GHC==8.6.5,
33 GHC==8.6.5,
33 GHC==8.8.4,
34 GHC==8.8.4,
34− GHC==8.10.3
35+ GHC==8.10.4,
36+ GHC==9.0.1
35
37
36flag use-text-show
38flag use-text-show
37 description: Use text-show library for efficient ToHttpApiData implementations.
39 description: Use text-show library for efficient ToHttpApiData implementations.
@@ -43,7 +45,7 @@ library
43 include-dirs: include/
45 include-dirs: include/
44
46
45 -- GHC bundled
47 -- GHC bundled
46− build-depends: base >= 4.7 && < 4.15
48+ build-depends: base >= 4.7 && < 4.16
47 , bytestring >= 0.10.4.0 && < 0.12
49 , bytestring >= 0.10.4.0 && < 0.12
48 , containers >= 0.5.5.1 && < 0.7
50 , containers >= 0.5.5.1 && < 0.7
49 , text >= 1.2.3.0 && < 1.3
51 , text >= 1.2.3.0 && < 1.3
@@ -76,7 +78,7 @@ library
76
78
77 if flag(use-text-show)
79 if flag(use-text-show)
78 cpp-options: -DUSE_TEXT_SHOW
80 cpp-options: -DUSE_TEXT_SHOW
79− build-depends: text-show >= 3.8.2 && <3.9
81+ build-depends: text-show >= 3.8.2 && <3.10
80
82
81 exposed-modules:
83 exposed-modules:
82 Web.HttpApiData
84 Web.HttpApiData