tools: travis: latest config
This commit is contained in:
		
							parent
							
								
									84297b6ae2
								
							
						
					
					
						commit
						1afe5fba6e
					
				
							
								
								
									
										46
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								.travis.yml
									
									
									
									
									
								
							| @ -5,6 +5,9 @@ | ||||
| # https://raw.githubusercontent.com/commercialhaskell/stack/master/doc/travis-simple.yml | ||||
| # https://raw.githubusercontent.com/commercialhaskell/stack/master/doc/travis-complex.yml | ||||
| # https://github.com/hvr/multi-ghc-travis#user-content-travisyml-template-for-non-container-based-infrastructure | ||||
| # https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received | ||||
| # https://github.com/koterpillar/tianbar/blob/master/Dockerfile.base - custom docker image to save time | ||||
| # https://github.com/mapnik/mapnik/blob/master/.travis.yml | ||||
| # | ||||
| # The Build Lifecycle # | ||||
| # A build on Travis CI is made up of two steps: | ||||
| @ -69,36 +72,55 @@ install: # completed commands' output is collapsed in log | ||||
| 
 | ||||
|   # stack | ||||
|   - 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' | ||||
|   - chmod a+x ~/.local/bin/stack | ||||
|   - export PATH=~/.local/bin:$PATH | ||||
|   - if [[ ! -x ~/.local/bin/stack ]]; then travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'; chmod a+x ~/.local/bin/stack; fi | ||||
|   - stack --version | ||||
| 
 | ||||
|   # GHC | ||||
|   - stack setup | ||||
|   - stack exec -- ghc --version | ||||
| 
 | ||||
|   # hledger dependencies | ||||
|   - stack build --only-dependencies --test hledger-lib hledger hledger-ui #hledger-web hledger-api | ||||
|     # TODO: does this build some hledger packages, which get rebuilt later with -Werror ? | ||||
|   # hledger dependencies, or at least some of them, built separately to reduce memory usage | ||||
|   # - stack build --only-dependencies hledger-lib #hledger hledger-ui # --test | ||||
|     # TODO does this build hledger-lib & hledger, then rebuild them later with -Werror ? | ||||
|   # - stack build cryptohash | ||||
|   # - stack build --only-dependencies hledger-web # --test | ||||
|   # - stack build --only-dependencies hledger-api # --test | ||||
| 
 | ||||
|   # hledger addon dependencies | ||||
|   - stack build Chart Chart-diagrams colour Diff here | ||||
|   #- stack build Chart Chart-diagrams colour Diff here | ||||
| 
 | ||||
|   # shelltestrunner, need unreleased installable version | ||||
|   #- if [ ! -d shelltestrunner ]; then git clone http://github.com/simonmichael/shelltestrunner; fi | ||||
|   - git clone http://github.com/simonmichael/shelltestrunner | ||||
|   - stack install --stack-yaml=shelltestrunner/stack.yaml --resolver=lts-8.6 --install-ghc | ||||
|   #- git clone http://github.com/simonmichael/shelltestrunner | ||||
|   - if [[ ! -d shelltestrunner ]]; then git clone http://github.com/simonmichael/shelltestrunner; fi | ||||
|   - if [[ ! -x ~/.local/bin/shelltest ]]; then stack install --stack-yaml=shelltestrunner/stack.yaml --resolver=lts-8.6; fi | ||||
|   - shelltest --version | ||||
| 
 | ||||
| script:  # all commands' output is shown in log, all commands must succeed for travis success | ||||
| 
 | ||||
|   # build hledger packages, ensuring no warnings, no haddock failures, package test suites passing  | ||||
|   - stack build --ghc-options=-Werror --test --haddock --no-haddock-deps hledger-lib hledger hledger-ui #hledger-web hledger-api | ||||
|   # build hledger packages, ensuring no warnings, and any deps not already cached, separately to reduce memory | ||||
|   - stack build --ghc-options=-Werror hledger-lib | ||||
|   - stack build --ghc-options=-Werror hledger | ||||
|   - stack build --ghc-options=-Werror hledger-ui | ||||
|   - stack build --ghc-options=-Werror hledger-web | ||||
|   - stack build --ghc-options=-Werror hledger-api | ||||
| 
 | ||||
|   # run functional tests, skipping the ones for addons | ||||
|   - COLUMNS=80 stack exec -- shelltest --execdir -j16 tests -x /bin -x /addons | ||||
| 
 | ||||
|   # we limit the `make` to 40 min | ||||
|   # to ensure that slow builds still upload their | ||||
|   # cache results and therefore should be faster | ||||
|   # (and might work) for the next build | ||||
|   # - DURATION=2400 | ||||
|   # - scripts/travis-command-wrapper.py -s "date" -i 120 --deadline=$(( $(date +%s) + ${DURATION} )) make | ||||
| 
 | ||||
|   # build hledger packages, ensuring no warnings, no haddock failures, package test suites passing  | ||||
|   #- stack build --ghc-options=-Werror --test --haddock --no-haddock-deps hledger-lib hledger hledger-ui | ||||
|   #- stack build --ghc-options=-Werror --test --haddock --no-haddock-deps hledger-web | ||||
|   #- stack build --ghc-options=-Werror --test --haddock --no-haddock-deps hledger-api | ||||
|   # build hledger addons, ensuring no warnings | ||||
|   #- sh -e bin/compile.sh | ||||
| 
 | ||||
|   # run functional tests | ||||
|   #- make functest | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user