From a098b13c4f0346365c53db783bc950a2b955100a Mon Sep 17 00:00:00 2001 From: Peter Becich Date: Mon, 22 Mar 2021 15:56:00 -0700 Subject: [PATCH] update Stack resolver to GHC 8.10.4; more GitHub Actions coverage --- .github/workflows/cabal.yml | 66 +++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 2 +- README.md | 3 +- stack.yaml | 15 +++----- stack.yaml.lock | 74 ++++++++++++------------------------- 5 files changed, 97 insertions(+), 63 deletions(-) create mode 100644 .github/workflows/cabal.yml diff --git a/.github/workflows/cabal.yml b/.github/workflows/cabal.yml new file mode 100644 index 0000000..3069f13 --- /dev/null +++ b/.github/workflows/cabal.yml @@ -0,0 +1,66 @@ +# modified from https://github.com/jgm/pandoc/blob/master/.github/workflows/ci.yml +name: Cabal CI + +on: + push: + branches: + - '**' + paths-ignore: [] + pull_request: + paths-ignore: [] + +jobs: + linux: + + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + versions: + - ghc: '8.6.5' + cabal: '3.4' + - ghc: '8.8.4' + cabal: '3.4' + - ghc: '8.10.4' + cabal: '3.4' + steps: + - uses: actions/checkout@v2 + + # need to install older cabal/ghc versions from ppa repository + + - name: Install recent cabal/ghc + uses: actions/setup-haskell@v1.1.3 + with: + ghc-version: ${{ matrix.versions.ghc }} + cabal-version: ${{ matrix.versions.cabal }} + + # declare/restore cached things + # caching doesn't work for scheduled runs yet + # https://github.com/actions/cache/issues/63 + + - name: Cache cabal global package db + id: cabal-global + uses: actions/cache@v2 + with: + path: | + ~/.cabal + key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ hashFiles('cabal.project') }} + + - name: Cache cabal work + id: cabal-local + uses: actions/cache@v2 + with: + path: | + dist-newstyle + key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local + + - name: Install dependencies + run: | + cabal update + cabal build all --dependencies-only --enable-tests --disable-optimization + - name: Build + run: | + cabal build all --enable-tests --disable-optimization 2>&1 | tee build.log + - name: Test + run: | + cabal test all --disable-optimization diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 811b3b9..4a83c24 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: stack: ["2.3.3"] - ghc: ["8.8.3"] + ghc: ["8.10.4"] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 diff --git a/README.md b/README.md index 3e495ff..16612e1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ Automatically fuzz your servant apis in a contextually-aware way. -![CI](https://github.com/mwotton/roboservant/workflows/CI/badge.svg) +![Stack CI](https://github.com/mwotton/roboservant/workflows/CI/badge.svg) +[![Cabal CI](https://github.com/mwotton/roboservant/actions/workflows/cabal.yml/badge.svg)](https://github.com/mwotton/roboservant/actions/workflows/cabal.yml) ## example diff --git a/stack.yaml b/stack.yaml index ccb98d2..b6140e3 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,15 +1,10 @@ -resolver: lts-16.27 +resolver: lts-17.6 packages: - . extra-deps: +- dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 +- dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - servant-flatten-0.2@sha256:276896f7c5cdec5b8f8493f6205fded0cc602d050b58fdb09a6d7c85c3bb0837,1234 -- vinyl-0.13.0 -- dependent-sum-0.7.1.0 -- constraints-extras-0.3.0.2 -- dependent-map-0.4.0.0 - -- servant-0.18.2 -- servant-client-0.18.2 -- servant-client-core-0.18.2 -- servant-server-0.18.2 +- constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 +- some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 diff --git a/stack.yaml.lock b/stack.yaml.lock index f77163a..0a716d5 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -4,6 +4,20 @@ # https://docs.haskellstack.org/en/stable/lock_files packages: +- completed: + hackage: dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 + pantry-tree: + size: 551 + sha256: 5defa30010904d2ad05a036f3eaf83793506717c93cbeb599f40db1a3632cfc5 + original: + hackage: dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 +- completed: + hackage: dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 + pantry-tree: + size: 290 + sha256: 9cbfb32b5a8a782b7a1c941803fd517633cb699159b851c1d82267a9e9391b50 + original: + hackage: dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - completed: hackage: servant-flatten-0.2@sha256:276896f7c5cdec5b8f8493f6205fded0cc602d050b58fdb09a6d7c85c3bb0837,1234 pantry-tree: @@ -11,65 +25,23 @@ packages: sha256: 04f12c7bef2c3f9a25d94eb9489752ed498db8e243069fe95838dbb51df1dcb3 original: hackage: servant-flatten-0.2@sha256:276896f7c5cdec5b8f8493f6205fded0cc602d050b58fdb09a6d7c85c3bb0837,1234 -- completed: - hackage: vinyl-0.13.0@sha256:0f247cd3f8682b30881a07de18e6fec52d540646fbcb328420049cc8d63cd407,3724 - pantry-tree: - size: 1857 - sha256: 860fb95820b595161cdbdec5f376100ebae2d14e5ef0dbe311546202f7525d01 - original: - hackage: vinyl-0.13.0 -- completed: - hackage: dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - pantry-tree: - size: 290 - sha256: 9cbfb32b5a8a782b7a1c941803fd517633cb699159b851c1d82267a9e9391b50 - original: - hackage: dependent-sum-0.7.1.0 - completed: hackage: constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 pantry-tree: size: 594 sha256: 3ce1012bfb02e4d7def9df19ce80b8cd2b472c691b25b181d9960638673fecd1 original: - hackage: constraints-extras-0.3.0.2 + hackage: constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - completed: - hackage: dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 + hackage: some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 pantry-tree: - size: 551 - sha256: 5defa30010904d2ad05a036f3eaf83793506717c93cbeb599f40db1a3632cfc5 + size: 708 + sha256: c882b6ebe8a0616f1ab3908f1620087ad5c6d8d82d1a72b99226f6487419bfe6 original: - hackage: dependent-map-0.4.0.0 -- completed: - hackage: servant-0.18.2@sha256:f8c9f0e9891a3ada1337a3c0b369333a3b5a2d0909dd3cd09d79bc26adeaca44,5298 - pantry-tree: - size: 2662 - sha256: e930e814de1aa4d24274bdf18341a50b7ed38604ae4734f730e09238ac5bf7e2 - original: - hackage: servant-0.18.2 -- completed: - hackage: servant-client-0.18.2@sha256:82578ade7468873259bb2fdc9d62290a0f998550900683e1410a237ed4b05410,4591 - pantry-tree: - size: 1300 - sha256: 6324892c77bedbce32f0d6f1612fc2cb0d82c163d3be39efb951d3cc3792ce4a - original: - hackage: servant-client-0.18.2 -- completed: - hackage: servant-client-core-0.18.2@sha256:ad63ae0f227373fea7e547d4c2a7b0b69e112ff409a83cbadffc9f6ee049926f,3763 - pantry-tree: - size: 1444 - sha256: 9e37bc5f8cbb70cf1accb20bd6f83fca4c2ca42472cd0fc4b22183c2c57cbe3b - original: - hackage: servant-client-core-0.18.2 -- completed: - hackage: servant-server-0.18.2@sha256:56679af62ab8820a2108da6153d9ae9dde37199e62172365bdaea1458c3f7c2d,5482 - pantry-tree: - size: 2614 - sha256: 3ac7430134439e4b67f0f5333f63b89d0cb7de5e2e07f0af7801c8e223942b9c - original: - hackage: servant-server-0.18.2 + hackage: some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 snapshots: - completed: - size: 533252 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/27.yaml - sha256: c2aaae52beeacf6a5727c1010f50e89d03869abfab6d2c2658ade9da8ed50c73 - original: lts-16.27 + size: 565712 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/6.yaml + sha256: 4e5e581a709c88e3fe26a9ce8bf331435729bead762fb5c190064c6c5bb1b835 + original: lts-17.6