diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 00000000..e0257d52 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,45 @@ +on: + pull_request: + push: + branches: + - master + +jobs: + build: + name: CI + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + stack-yaml: stack-lts-12.yaml + extra-args: "" + - os: ubuntu-latest + stack-yaml: stack-lts-14.yaml + extra-args: "" + - os: ubuntu-latest + stack-yaml: stack-lts-14.yaml + extra-args: "--flag xlsx:microlens" + - os: ubuntu-latest + stack-yaml: stack-lts-16.yaml + extra-args: "" + - os: ubuntu-latest + stack-yaml: stack-lts-17.yaml + extra-args: "" + + steps: + - name: Clone project + uses: actions/checkout@v2 + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ~/.stack + key: ${{ runner.os }}-${{ hashFiles(matrix.stack-yaml) }}-${{ matrix.extra-args }} + - name: Build and run tests + shell: bash + run: | + set -ex + stack upgrade + stack --version + stack test --fast --stack-yaml=${{ matrix.stack-yaml }} ${{ matrix.extra-args }} diff --git a/.gitignore b/.gitignore index 9ad7591d..02d18a82 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ dist *.*~ specs samples -.stack-work \ No newline at end of file +.stack-work +*.lock \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9430f602..00000000 --- a/.travis.yml +++ /dev/null @@ -1,123 +0,0 @@ -# Created from -# -# https://docs.haskellstack.org/en/stable/travis_ci/ -# -# Do not choose a language; we provide our own build tools. -language: generic - -# Caching so the next build will be fast too. -cache: - directories: - - $HOME/.ghc - - $HOME/.cabal - - $HOME/.stack - -# The different configurations we want to test. We have BUILD=cabal which uses -# cabal-install, and BUILD=stack which uses Stack. More documentation on each -# of those below. -# -# We set the compiler values here to tell Travis to use a different -# cache file per set of arguments. -# -# If you need to have different apt packages for each combination in the -# matrix, you can use a line such as: -# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}} -matrix: - include: - # The Stack builds. We can pass in arbitrary Stack arguments via the ARGS - # variable, such as using --stack-yaml to point to a different file. - - env: BUILD=stack ARGS="--stack-yaml=stack-lts-9.yaml" GHCVER=8.0.2 HAPPYVER=1.19.4 - compiler: ": #stack 8.0.2" - addons: - apt: - sources: - - hvr-ghc - packages: - - ghc-8.0.2 - - happy-1.19.4 - - - env: BUILD=stack ARGS="--stack-yaml=stack-lts-11.yaml" GHCVER=8.2.2 HAPPYVER=1.19.4 - compiler: ": #stack 8.2.2" - addons: - apt: - sources: - - hvr-ghc - packages: - - ghc-8.2.2 - - happy-1.19.4 - - - env: BUILD=stack ARGS="--stack-yaml=stack-lts-12.yaml" GHCVER=8.4.3 HAPPYVER=1.19.4 - compiler: ": #stack 8.4.3" - addons: - apt: - sources: - - hvr-ghc - packages: - - ghc-8.4.3 - - happy-1.19.4 - - - env: BUILD=stack ARGS="--stack-yaml=stack-lts-14.yaml" GHCVER=8.6.5 HAPPYVER=1.19.4 - compiler: ": #stack 8.6.5" - addons: - apt: - sources: - - hvr-ghc - packages: - - ghc-8.6.5 - - happy-1.19.4 - - - env: BUILD=stack ARGS="--stack-yaml=stack-lts-14.yaml --flag xlsx:microlens" GHCVER=8.6.5 HAPPYVER=1.19.4 - compiler: ": #stack 8.6.5" - addons: - apt: - sources: - - hvr-ghc - packages: - - ghc-8.6.5 - - happy-1.19.4 - - - env: BUILD=stack ARGS="--stack-yaml=stack-nightly.yaml" GHCVER=8.8.1 HAPPYVER=1.19.4 - compiler: ": #stack 8.8.1" - addons: - apt: - sources: - - hvr-ghc - packages: - - ghc-8.8.1 - - happy-1.19.4 - -before_install: -# Using compiler above sets CC to an invalid value, so unset it -- unset CC - -# Download and unpack the stack executable -- export PATH=/opt/ghc/$GHCVER/bin:$HOME/.local/bin:/opt/happy/$HAPPYVER/bin:$HOME/.cabal/bin:$PATH -- mkdir -p ~/.local/bin -- | - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' - - stack config set system-ghc --global true - - # Use the more reliable S3 mirror of Hackage - mkdir -p $HOME/.cabal - echo 'remote-repo: hackage.haskell.org:http://hackage.fpcomplete.com/' > $HOME/.cabal/config - echo 'remote-repo-cache: $HOME/.cabal/packages' >> $HOME/.cabal/config - - if [ "$CABALVER" != "1.16" ] - then - echo 'jobs: $ncpus' >> $HOME/.cabal/config - fi - -install: -- echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" -- if [ -f configure.ac ]; then autoreconf -i; fi -- | - set -ex - stack --no-terminal --skip-ghc-check -j2 test $ARGS --only-dependencies - set +ex - -script: -- | - set -ex - stack --no-terminal --skip-ghc-check -j2 test $ARGS --haddock --no-haddock-deps - set +ex diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown index 4ebc2129..77bf8aa4 100644 --- a/CHANGELOG.markdown +++ b/CHANGELOG.markdown @@ -1,3 +1,7 @@ +Unreleased +------------ +* dropped support for GHC 8.0.* and 8.2.* and added support for GHC 8.10.* + 0.8.3 ------------ * compatibility with lens-5.0 diff --git a/stack-lts-11.yaml b/stack-lts-11.yaml deleted file mode 100644 index 9651d88a..00000000 --- a/stack-lts-11.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resolver: lts-11.22 -packages: -- '.' diff --git a/stack-lts-12.yaml b/stack-lts-12.yaml index 4c1079e0..0843c9d2 100644 --- a/stack-lts-12.yaml +++ b/stack-lts-12.yaml @@ -1,3 +1,3 @@ -resolver: lts-12.13 +resolver: lts-12.26 packages: - '.' diff --git a/stack-lts-14.yaml b/stack-lts-14.yaml index eb9ce31a..3732cb9c 100644 --- a/stack-lts-14.yaml +++ b/stack-lts-14.yaml @@ -1,3 +1,3 @@ -resolver: lts-14.12 +resolver: lts-14.27 packages: - '.' diff --git a/stack-lts-16.yaml b/stack-lts-16.yaml new file mode 100644 index 00000000..525436d4 --- /dev/null +++ b/stack-lts-16.yaml @@ -0,0 +1,3 @@ +resolver: lts-16.31 +packages: +- '.' diff --git a/stack-lts-17.yaml b/stack-lts-17.yaml new file mode 100644 index 00000000..819dd785 --- /dev/null +++ b/stack-lts-17.yaml @@ -0,0 +1,3 @@ +resolver: lts-17.8 +packages: +- '.' diff --git a/stack-lts-9.yaml b/stack-lts-9.yaml deleted file mode 100644 index 3b51f4a9..00000000 --- a/stack-lts-9.yaml +++ /dev/null @@ -1,5 +0,0 @@ -resolver: lts-9.21 -packages: -- '.' -extra-deps: -- xeno-0.3.2 diff --git a/xlsx.cabal b/xlsx.cabal index 58af3b0c..c52c7d7a 100644 --- a/xlsx.cabal +++ b/xlsx.cabal @@ -26,7 +26,7 @@ Maintainer: qrilka@gmail.com Category: Codec Build-type: Simple -Tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5, GHC == 8.8.1 +Tested-with: GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4 Cabal-version: >=1.10 Flag microlens