;ci: run bin/ compilation tests only with GHC 8.2 CI for now (#1453)

This commit is contained in:
Simon Michael 2021-01-12 11:47:57 -08:00
parent 3fc3914e14
commit 1023a3cc1a
6 changed files with 30 additions and 10 deletions

View File

@ -73,6 +73,7 @@ jobs:
matrix: matrix:
plan: plan:
# GHC 8.0 is still supported but we don't have a build plan for hledger-web, let it go # GHC 8.0 is still supported but we don't have a build plan for hledger-web, let it go
# XXX func tests in bin (see shelltest below) are run only with GHC 8.2 for now
# - { ghc: "80" , stack: "stack --stack-yaml=stack8.0.yaml" } # - { ghc: "80" , stack: "stack --stack-yaml=stack8.0.yaml" }
- { ghc: "82" , stack: "stack --stack-yaml=stack8.2.yaml" } - { ghc: "82" , stack: "stack --stack-yaml=stack8.2.yaml" }
# - { ghc: "84" , stack: "stack --stack-yaml=stack8.4.yaml" } # - { ghc: "84" , stack: "stack --stack-yaml=stack8.4.yaml" }
@ -216,6 +217,7 @@ jobs:
run: | run: |
export PATH=~/.local/bin:$PATH export PATH=~/.local/bin:$PATH
COLUMNS=80 $stack exec -- shelltest --execdir -j16 hledger/test bin -x /_ -x /addons COLUMNS=80 $stack exec -- shelltest --execdir -j16 hledger/test bin -x /_ -x /addons
# XXX func tests in bin are run only with GHC 8.2 for now
- name: Test haddock generation - name: Test haddock generation
env: env:

View File

@ -47,6 +47,7 @@ jobs:
# - { ghc: "86" , stack: "stack --stack-yaml=stack8.6.yaml" } # - { ghc: "86" , stack: "stack --stack-yaml=stack8.6.yaml" }
# - { ghc: "88" , stack: "stack --stack-yaml=stack.yaml" } # - { ghc: "88" , stack: "stack --stack-yaml=stack.yaml" }
- { ghc: "810" , stack: "stack --stack-yaml=stack8.10.yaml" } - { ghc: "810" , stack: "stack --stack-yaml=stack8.10.yaml" }
# XXX func tests in bin should be run only with GHC 8.10 for now (see shelltest below)
steps: steps:
@ -159,7 +160,8 @@ jobs:
stack: ${{ matrix.plan.stack }} stack: ${{ matrix.plan.stack }}
run: | run: |
export PATH=~/.local/bin:$PATH export PATH=~/.local/bin:$PATH
COLUMNS=80 $stack exec -- shelltest --execdir -j16 hledger/test bin -x /_ -x /addons COLUMNS=80 $stack exec -- shelltest --execdir -j16 hledger/test -x /_ -x /addons # bin
# XXX func tests in bin are run only with GHC 8.2 for now
# artifacts: # artifacts:

View File

@ -152,4 +152,5 @@ jobs:
stack: ${{ matrix.plan.stack }} stack: ${{ matrix.plan.stack }}
run: | run: |
export PATH=~/.local/bin:$PATH export PATH=~/.local/bin:$PATH
COLUMNS=80 $stack exec -- shelltest --execdir -j16 hledger/test bin -x /_ -x /addons COLUMNS=80 $stack exec -- shelltest --execdir -j16 hledger/test -x /_ -x /addons # bin
# XXX func tests in bin are run only with GHC 8.2 for now

View File

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
# Compile all add-on scripts in this directory. # Compile all add-on scripts in this directory.
# Keep synced: compile.sh, scripts.test, hledger-check-fancyassertions.hs.
cd "$(dirname "$0")" || exit cd "$(dirname "$0")" || exit

View File

@ -15,6 +15,12 @@
-- hledger version from that stackage resolver, so in this case you -- hledger version from that stackage resolver, so in this case you
-- should check out the corresponding release-tagged version of this -- should check out the corresponding release-tagged version of this
-- script for compatibility (eg: git checkout 1.18.1). -- script for compatibility (eg: git checkout 1.18.1).
--
-- This setup is adapted for some current limitations of stack's
-- ghc/runghc/script commands. Unfortunately it requires repeating
-- package dependencies, to the extent they are required, in three
-- places.
-- Keep synced: compile.sh, scripts.test, hledger-check-fancyassertions.hs.
{- {-
``` ```

View File

@ -1,12 +1,20 @@
# Functional tests for the add-on scripts in this directory. # Functional tests for the add-on scripts in this directory.
# Keep synced: compile.sh, scripts.test, hledger-check-fancyassertions.hs.
# Check that they all (or at least these ones) still compile with this version of hledger. # Check that these ones still compile with this version of hledger.
# stdout and exit code are ignored for cleaner failure output. # stdout and exit code are ignored for cleaner failure output.
#
# Our CI workflows run with multiple GHC versions, but the tests below
# are hard coded to one version. We don't want them to cause a whole
# extra GHC version to be installed and built for.
# XXX For now, we hard code GHC 8.2 here, same as the linux/pull request CI,
# and run these tests only there.
#
# $ ./compile.sh >/dev/null # $ ./compile.sh >/dev/null
$ ./hledger-balance-as-budget.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-balance-as-budget.hs >/dev/null || true
$ ./hledger-check-fancyassertions.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-check-fancyassertions.hs >/dev/null || true
$ ./hledger-check-tagfiles.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-check-tagfiles.hs >/dev/null || true
$ ./hledger-combine-balances.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-combine-balances.hs >/dev/null || true
$ ./hledger-print-location.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-print-location.hs >/dev/null || true
$ ./hledger-smooth.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-smooth.hs >/dev/null || true
$ ./hledger-swap-dates.hs >/dev/null || true $ stack --stack-yaml ../stack8.2.yaml ghc hledger-swap-dates.hs >/dev/null || true