From f24c5873ed5bb091f0ce5ebdf4df7ab160e87c75 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Wed, 30 Sep 2020 14:04:33 +0200 Subject: Bump template-haskell and pandoc versions * Bumped bound for pandoc and add Binary-instances for new constructors that were added to pandoc-types * Support most recent template-haskell release * Set lower bound of pandoc to version 2.10 * Update CI configuration * Bump QuickCheck upper bound to 2.15 Co-authored-by: OC4 --- .github/workflows/main.yml | 104 +++++++++++++++++++++++++++------------- hakyll.cabal | 8 ++-- lib/Hakyll/Web/Pandoc/Binary.hs | 10 ++++ stack.yaml | 11 ++++- stack.yaml.lock | 59 +++++++++++++++++++++-- 5 files changed, 147 insertions(+), 45 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4e2b7c3..bfb65f2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,55 +1,91 @@ -# This Github Actions workflow is modified from -# https://kodimensional.dev/github-actions -name: 'CI' +name: CI # Trigger the workflow on push or pull request, but only for the master branch -on: [push, pull_request] +on: + pull_request: + push: + branches: [master] jobs: - build: + cabal: + name: ${{ matrix.os }} / ghc ${{ matrix.ghc }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macOS-latest, windows-latest] + cabal: ["3.2"] + ghc: + - "8.6.5" + - "8.8.3" + - "8.10.1" + exclude: + - os: macOS-latest + ghc: 8.8.3 + - os: macOS-latest + ghc: 8.6.5 + - os: windows-latest + ghc: 8.8.3 + - os: windows-latest + ghc: 8.6.5 + + steps: + - uses: actions/checkout@v2 + if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master' + + - uses: actions/setup-haskell@v1.1.1 + id: setup-haskell-cabal + name: Setup Haskell + with: + ghc-version: ${{ matrix.ghc }} + cabal-version: ${{ matrix.cabal }} + + - name: Freeze + run: | + cabal freeze + + - uses: actions/cache@v1 + name: Cache ~/.cabal/store + with: + path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }} + key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }} + + - name: Build + run: | + cabal configure --enable-tests --enable-benchmarks --test-show-details=direct + cabal build all + - name: Test + run: | + cabal test all + + stack: + name: stack / ghc ${{ matrix.ghc }} + runs-on: ubuntu-latest strategy: matrix: - os: [ubuntu-latest, windows-latest] + stack: ["2.3.1"] + ghc: ["8.8.3"] - env: - ARGS: --no-terminal --fast - - name: ${{ matrix.os }} - runs-on: ${{ matrix.os }} - steps: - uses: actions/checkout@v2 if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master' - # https://github.com/actions/setup-haskell - uses: actions/setup-haskell@v1.1 name: Setup Haskell Stack with: - stack-version: "latest" - enable-stack: true - stack-no-global: true - - # https://github.com/actions/cache - - uses: actions/cache@v2 + ghc-version: ${{ matrix.ghc }} + stack-version: ${{ matrix.stack }} + + - uses: actions/cache@v1 name: Cache ~/.stack with: path: ~/.stack - key: ${{ runner.os }}-${{ hashFiles('stack.yaml') }} - - # There are strange problems with CI on Windows, where builds with GHC 8.8.* - # always fail. Therefore, we distinguish between builds on Ubuntu and Windows - # and use an older compiler on Windows. - # See here for bug reports: - # https://gitlab.haskell.org/ghc/ghc/issues/17599 - # https://gitlab.haskell.org/ghc/ghc/issues/17926 - - - name: Test (Ubuntu) + key: ${{ runner.os }}-${{ matrix.ghc }}-stack + + - name: Build run: | - stack test $ARGS --stack-yaml stack.yaml - if: ${{ runner.os == 'Linux' }} + stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks - - name: Test (Windows) + - name: Test run: | - stack test $ARGS --stack-yaml stack.yaml --compiler ghc-8.6.5 - if: ${{ runner.os == 'Windows' }} + stack test --system-ghc diff --git a/hakyll.cabal b/hakyll.cabal index c80c392..e7af07d 100644 --- a/hakyll.cabal +++ b/hakyll.cabal @@ -188,7 +188,7 @@ Library resourcet >= 1.1 && < 1.3, scientific >= 0.3.4 && < 0.4, tagsoup >= 0.13.1 && < 0.15, - template-haskell >= 2.14 && < 2.16, + template-haskell >= 2.14 && < 2.17, text >= 0.11 && < 1.3, time >= 1.8 && < 1.10, time-locale-compat >= 0.1 && < 0.2, @@ -232,7 +232,7 @@ Library Other-Modules: Hakyll.Web.Pandoc.Binary Build-Depends: - pandoc >= 2.0.5 && < 2.10, + pandoc >= 2.10 && < 2.11, pandoc-citeproc >= 0.14 && < 0.18 Cpp-options: -DUSE_PANDOC @@ -265,7 +265,7 @@ Test-suite hakyll-tests Build-Depends: hakyll, - QuickCheck >= 2.8 && < 2.14, + QuickCheck >= 2.8 && < 2.15, tasty >= 0.11 && < 1.4, tasty-hunit >= 0.9 && < 0.11, tasty-quickcheck >= 0.8 && < 0.11, @@ -327,4 +327,4 @@ Executable hakyll-website base >= 4 && < 5, directory >= 1.0 && < 1.4, filepath >= 1.0 && < 1.5, - pandoc >= 2.0.5 && < 2.10 + pandoc >= 2.10 && < 2.11 diff --git a/lib/Hakyll/Web/Pandoc/Binary.hs b/lib/Hakyll/Web/Pandoc/Binary.hs index deeaf08..5d3efea 100644 --- a/lib/Hakyll/Web/Pandoc/Binary.hs +++ b/lib/Hakyll/Web/Pandoc/Binary.hs @@ -14,6 +14,10 @@ import Text.Pandoc instance Binary Alignment instance Binary Block +instance Binary Caption +instance Binary Cell +instance Binary ColSpan +instance Binary ColWidth instance Binary CSL.Reference instance Binary Citation instance Binary CitationMode @@ -29,5 +33,11 @@ instance Binary REF.Literal instance Binary REF.RefDate instance Binary REF.RefType instance Binary REF.Season +instance Binary Row +instance Binary RowHeadColumns +instance Binary RowSpan instance Binary STY.Agent instance Binary STY.Formatted +instance Binary TableBody +instance Binary TableFoot +instance Binary TableHead diff --git a/stack.yaml b/stack.yaml index c3958dd..49c9f69 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-15.6 +resolver: lts-16.9 save-hackage-creds: false flags: @@ -22,4 +22,11 @@ build: haddock-hyperlink-source: true haddock-deps: false -extra-deps: [] +extra-deps: +- 'commonmark-0.1.0.2' +- 'commonmark-extensions-0.2.0.1' +- 'commonmark-pandoc-0.2.0.1' +- 'hslua-1.1.2' +- 'jira-wiki-markup-1.3.2' +- 'pandoc-2.10.1' +- 'pandoc-types-1.21' diff --git a/stack.yaml.lock b/stack.yaml.lock index ebcdead..5de18d3 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -3,10 +3,59 @@ # For more information, please see the documentation at: # https://docs.haskellstack.org/en/stable/lock_files -packages: [] +packages: +- completed: + hackage: commonmark-0.1.0.2@sha256:fbff7a2ade0ce7d699964a87f765e503a3a9e22542c05f0f02ba7aad64e38af4,3278 + pantry-tree: + size: 1346 + sha256: 991da6da60804286b9ea23a1522e18ceeabddfdf416787231db9fd047c163f53 + original: + hackage: commonmark-0.1.0.2 +- completed: + hackage: commonmark-extensions-0.2.0.1@sha256:647aa8dba5fd46984ddedc15c3693c9c4d9655503d42006576bd8f0dadf8cd39,3176 + pantry-tree: + size: 2927 + sha256: 89e1ee05938d558834c397a3a22cdacc755a1941c144f4c1f3daf8a1ede943ce + original: + hackage: commonmark-extensions-0.2.0.1 +- completed: + hackage: commonmark-pandoc-0.2.0.1@sha256:529c6e2c6cabf61558b66a28123eafc1d90d3324be29819f59f024e430312c1f,1105 + pantry-tree: + size: 326 + sha256: d9954a15f73c8fe55a5097e1cc0957fa626d340ef36e2beefb8caae66008c3dc + original: + hackage: commonmark-pandoc-0.2.0.1 +- completed: + hackage: hslua-1.1.2@sha256:6c231b2af447430d1ed04f065d40bb6882ece93cc7f32f4051dc99deb69beeae,9694 + pantry-tree: + size: 6820 + sha256: 62e61f6d08191159a070dcbaa20284a581835de620105a254dbee1c7ddfabd9d + original: + hackage: hslua-1.1.2 +- completed: + hackage: jira-wiki-markup-1.3.2@sha256:b5f0901208a0ee07aff60f5356aeb851b7aa7950c75a18a15fd34247a35886d8,3819 + pantry-tree: + size: 1180 + sha256: 90fa545210a211b8ec88b59f92fe2877ebf2f9e55e2ce2fba6103a3615bd0ab9 + original: + hackage: jira-wiki-markup-1.3.2 +- completed: + hackage: pandoc-2.10.1@sha256:23d7ec480c7cb86740475a419d6ca4819987b6dd23bbae9b50bc3d42a7ed2f9f,36933 + pantry-tree: + size: 89646 + sha256: 08c8b20356152b9ee8161bacafda2dc1bed13d7db4cbf38ab040c1977b2d28d5 + original: + hackage: pandoc-2.10.1 +- completed: + hackage: pandoc-types-1.21@sha256:b61ed625da4d1a0d8057fcca4c0c5e174c9f45d94b41504db1532f3fc581e945,4037 + pantry-tree: + size: 713 + sha256: e26eb93747538e29168032985a03b428039a16000fea1a4a8d9b9b032ac98b5f + original: + hackage: pandoc-types-1.21 snapshots: - completed: - size: 491387 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/15/6.yaml - sha256: 8d81505a6de861e167a58534ab62330afb75bfa108735c7db1204f7ef2a39d79 - original: lts-15.6 + size: 532380 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/9.yaml + sha256: 14a7cec114424e4286adde73364438927a553ed248cc50f069a30a67e3ee1e69 + original: lts-16.9 -- cgit v1.2.3