1# This Travis job script has been generated by a script via
3# haskell-ci '--installed=+all -Cabal' '--hlint' '--doctest' '--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen' '-o' '.travis.yml' 'cabal2nix.cabal'
5# For more information, see https://github.com/haskell-CI/haskell-ci
12 # whether to recursively clone submodules
16 - $HOME/.cabal/packages
19 - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
20 # remove files that are regenerated by 'cabal update'
21 - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*
22 - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json
23 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache
24 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
25 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
26 - rm -rfv $CABALHOME/packages/head.hackage
30 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.4","cabal-install-2.4"]}}
32 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
35 - CABAL=/opt/ghc/bin/cabal
36 - CABALHOME=$HOME/.cabal
37 - export PATH="$CABALHOME/bin:$PATH"
39 - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
41 - CABAL="$CABAL -vnormal+nowrap+markoutput"
44 echo 'function blue(s) { printf "\033[0;34m" s "\033[0m " }' >> .colorful.awk
45 echo 'BEGIN { state = "output"; }' >> .colorful.awk
46 echo '/^-----BEGIN CABAL OUTPUT-----$/ { state = "cabal" }' >> .colorful.awk
47 echo '/^-----END CABAL OUTPUT-----$/ { state = "output" }' >> .colorful.awk
48 echo '!/^(-----BEGIN CABAL OUTPUT-----|-----END CABAL OUTPUT-----)/ {' >> .colorful.awk
49 echo ' if (state == "cabal") {' >> .colorful.awk
50 echo ' print blue($0)' >> .colorful.awk
51 echo ' } else {' >> .colorful.awk
52 echo ' print $0' >> .colorful.awk
53 echo ' }' >> .colorful.awk
54 echo '}' >> .colorful.awk
57 color_cabal_output () {
58 awk -f $TOP/.colorful.awk
60 - echo text | color_cabal_output
63 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
65 - BENCH=--enable-benchmarks
66 - GHCHEAD=${GHCHEAD-false}
67 - rm -f $CABALHOME/config
69 echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
70 echo "remote-build-reporting: anonymous" >> $CABALHOME/config
71 echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
72 echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
73 echo "world-file: $CABALHOME/world" >> $CABALHOME/config
74 echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
75 echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
76 echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
77 echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
78 echo "install-dirs user" >> $CABALHOME/config
79 echo " prefix: $CABALHOME" >> $CABALHOME/config
80 echo "repository hackage.haskell.org" >> $CABALHOME/config
81 echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
82 - cat $CABALHOME/config
83 - rm -fv cabal.project cabal.project.local cabal.project.freeze
84 - travis_retry ${CABAL} v2-update -v
85 - ${CABAL} v2-install -w ${HC} -j2 doctest --constraint='doctest ==0.16.*' | color_cabal_output
86 - ${CABAL} v2-install -w ${HC} -j2 hlint --constraint='hlint ==2.1.*' | color_cabal_output
87 # Generate cabal.project
88 - rm -rf cabal.project cabal.project.local cabal.project.freeze
91 echo 'packages: "."' >> cabal.project
93 echo "write-ghc-environment-files: always" >> cabal.project
94 - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(Cabal|cabal2nix)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
95 - cat cabal.project || true
96 - cat cabal.project.local || true
97 - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
98 - ${CABAL} v2-freeze -w ${HC} ${TEST} ${BENCH} | color_cabal_output
99 - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
100 - rm cabal.project.freeze
101 - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} --dep -j2 all | color_cabal_output
102 - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2 all | color_cabal_output
104 - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
106 - ${CABAL} v2-sdist all | color_cabal_output
108 - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
109 - cd ${DISTDIR} || false
110 - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
111 # Generate cabal.project
112 - rm -rf cabal.project cabal.project.local cabal.project.freeze
113 - touch cabal.project
115 echo 'packages: "cabal2nix-*/*.cabal"' >> cabal.project
117 echo "write-ghc-environment-files: always" >> cabal.project
118 - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(Cabal|cabal2nix)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
119 - cat cabal.project || true
120 - cat cabal.project.local || true
122 # this builds all libraries and executables (without tests/benchmarks)
123 - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks all | color_cabal_output
124 # Building with tests and benchmarks...
125 # build & run tests, build benchmarks
126 - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
128 - ${CABAL} v2-test -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
130 - (cd cabal2nix-* && doctest -i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen -XMonadFailDesugaring src)
132 - (cd cabal2nix-* && hlint -XMonadFailDesugaring src)
133 - (cd cabal2nix-* && hlint -XMonadFailDesugaring hackage2nix)
134 - (cd cabal2nix-* && hlint -XMonadFailDesugaring cabal2nix)
136 - (cd cabal2nix-* && ${CABAL} -vnormal check)
138 - ${CABAL} v2-haddock -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
139 # Building without installed constraints for packages in global-db...
140 - rm -f cabal.project.local
141 - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks all | color_cabal_output
143# REGENDATA ["--installed=+all -Cabal","--hlint","--doctest","--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen","-o",".travis.yml","cabal2nix.cabal"]
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list