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-simple.yml
 | 
				
			||||||
# https://raw.githubusercontent.com/commercialhaskell/stack/master/doc/travis-complex.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://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 #
 | 
					# The Build Lifecycle #
 | 
				
			||||||
# A build on Travis CI is made up of two steps:
 | 
					# A build on Travis CI is made up of two steps:
 | 
				
			||||||
@ -69,36 +72,55 @@ install: # completed commands' output is collapsed in log
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  # stack
 | 
					  # stack
 | 
				
			||||||
  - mkdir -p ~/.local/bin
 | 
					  - 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
 | 
					  - 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
 | 
					  - stack --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # GHC
 | 
					  # GHC
 | 
				
			||||||
  - stack setup
 | 
					  - stack setup
 | 
				
			||||||
  - stack exec -- ghc --version
 | 
					  - stack exec -- ghc --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # hledger dependencies
 | 
					  # hledger dependencies, or at least some of them, built separately to reduce memory usage
 | 
				
			||||||
  - stack build --only-dependencies --test hledger-lib hledger hledger-ui #hledger-web hledger-api
 | 
					  # - stack build --only-dependencies hledger-lib #hledger hledger-ui # --test
 | 
				
			||||||
    # TODO: does this build some hledger packages, which get rebuilt later with -Werror ?
 | 
					    # 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
 | 
					  # hledger addon dependencies
 | 
				
			||||||
  - stack build Chart Chart-diagrams colour Diff here
 | 
					  #- stack build Chart Chart-diagrams colour Diff here
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # shelltestrunner, need unreleased installable version
 | 
					  # shelltestrunner, need unreleased installable version
 | 
				
			||||||
  #- if [ ! -d shelltestrunner ]; then git clone http://github.com/simonmichael/shelltestrunner; fi
 | 
					  #- git clone http://github.com/simonmichael/shelltestrunner
 | 
				
			||||||
  - git clone http://github.com/simonmichael/shelltestrunner
 | 
					  - if [[ ! -d shelltestrunner ]]; then git clone http://github.com/simonmichael/shelltestrunner; fi
 | 
				
			||||||
  - stack install --stack-yaml=shelltestrunner/stack.yaml --resolver=lts-8.6 --install-ghc
 | 
					  - if [[ ! -x ~/.local/bin/shelltest ]]; then stack install --stack-yaml=shelltestrunner/stack.yaml --resolver=lts-8.6; fi
 | 
				
			||||||
  - shelltest --version
 | 
					  - shelltest --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
script:  # all commands' output is shown in log, all commands must succeed for travis success
 | 
					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 
 | 
					  # build hledger packages, ensuring no warnings, and any deps not already cached, separately to reduce memory
 | 
				
			||||||
  - stack build --ghc-options=-Werror --test --haddock --no-haddock-deps hledger-lib hledger hledger-ui #hledger-web hledger-api
 | 
					  - 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
 | 
					  # build hledger addons, ensuring no warnings
 | 
				
			||||||
  #- sh -e bin/compile.sh
 | 
					  #- sh -e bin/compile.sh
 | 
				
			||||||
 | 
					 | 
				
			||||||
  # run functional tests
 | 
					  # run functional tests
 | 
				
			||||||
  #- make functest
 | 
					  #- make functest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user