mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-18 17:57:11 +03:00
make: buildtest, buildtest-stackX.yaml, buildtest-all, watch-X
Useful new rules for 1. thorough build checking with all supported ghc versions, and 2. re-running any make rule when a committed file changes. [ci skip]
This commit is contained in:
parent
9cb07e148c
commit
fc5d18a63a
27
Makefile
27
Makefile
@ -561,12 +561,6 @@ ghcid-ui: $(call def-help,ghcid-ui, start ghcid autobuilder on hledger-lib + hle
|
||||
ghcid -c 'make ghci-ui'
|
||||
|
||||
ghcid-web: $(call def-help,ghcid-web, start ghcid autobuilder on hledger-lib + hledger + hledger-web)
|
||||
# When running code tests, also fail if we notice GHC warnings.
|
||||
# We don't force a rebuild of all files, so might not catch all warnings;
|
||||
# use make warningstest or make allghcstest for a thorough warnings check.
|
||||
# When running code tests, also fail if we notice GHC warnings.
|
||||
# We don't force a rebuild of all files, so might not catch all warnings;
|
||||
# use make warningstest or make allghcstest for a thorough warnings check.
|
||||
ghcid -c 'make ghci-web'
|
||||
|
||||
ghcid-api: $(call def-help,ghcid-api, start ghcid autobuilder on hledger-lib + hledger + hledger-api)
|
||||
@ -623,14 +617,17 @@ $(call def-help-subheading,TESTING:)
|
||||
test: pkgtest functest \
|
||||
$(call def-help,test, run default tests: package tests plus functional tests)
|
||||
|
||||
# When running code tests, also fail if we notice GHC warnings.
|
||||
# We don't force a rebuild of all files, so might not catch all warnings;
|
||||
# use make warningstest or make allghcstest for a thorough warnings check.
|
||||
# For quieter tests add --silent. It may hide troubleshooting info.
|
||||
STACKTEST=$(STACK) test --ghc-options="$(WARNINGS) -Werror"
|
||||
STACKTEST=$(STACK) test
|
||||
|
||||
warningstest: $(call def-help,warningstest-watch, build all hledger executables quickly from scratch ensuring no warnings with default snapshot)
|
||||
$(STACK) build --fast --force-dirty --ghc-options=-fforce-recomp --ghc-options=-Werror
|
||||
buildtest: $(call def-help,buildtest, build all hledger packages quickly from scratch ensuring no warnings with default snapshot) \
|
||||
buildtest-stack.yaml
|
||||
|
||||
buildtest-%: $(call def-help,buildtest-STACKFILE, build all hledger packages quickly from scratch ensuring no warnings with the stack yaml file; eg make buildtest-stack-ghc8.2.yaml )
|
||||
$(STACK) build --fast --force-dirty --ghc-options=-fforce-recomp --ghc-options=-Werror --stack-yaml=$*
|
||||
|
||||
buildtest-all: $(call def-help,buildtest-all, build all hledger packages quickly from scratch ensuring no warnings with each ghc version/stackage snapshot )
|
||||
for F in stack-*.yaml; do make --no-print-directory buildtest-$$F; done
|
||||
|
||||
pkgtest: $(call def-help,pkgtest, run the test suites in each package )
|
||||
@($(STACKTEST) && echo $@ PASSED) || (echo $@ FAILED; false)
|
||||
@ -699,10 +696,10 @@ travistest: $(call def-help,travistest, run tests similar to our travis CI tests
|
||||
stack build --ghc-options=-Werror --test --haddock --no-haddock-deps hledger-api
|
||||
make functest
|
||||
|
||||
# committest: hlinttest unittest doctest functest haddocktest warningstest quickcabaltest \
|
||||
# committest: hlinttest unittest doctest functest haddocktest buildtest quickcabaltest \
|
||||
# $(call def-help,committest,more thorough pre-commit/pre-push tests)
|
||||
|
||||
# releasetest: Clean unittest functest fullcabaltest haddocktest #warningstest doctest \
|
||||
# releasetest: Clean unittest functest fullcabaltest haddocktest #buildtest doctest \
|
||||
# $(call def-help,releasetest,pre-release tests)
|
||||
|
||||
|
||||
@ -1468,7 +1465,7 @@ cloc: $(call def-help,cloc, count lines of source code )
|
||||
###############################################################################
|
||||
$(call def-help-subheading,MISCELLANEOUS:)
|
||||
|
||||
watch-%: $(call def-help,watchRULE, run make RULE repeatedly when any committed file changes eg: make watch-warningstest)
|
||||
watch-%: $(call def-help,watch-RULE, run make RULE repeatedly when any committed file changes)
|
||||
@git ls-files | entr -r make $*
|
||||
|
||||
Shake: Shake.hs $(call def-help,Shake, ensure the Shake script is compiled )
|
||||
|
Loading…
Reference in New Issue
Block a user