4
4
#
5
5
# For more information, see https://github.com/haskell-CI/haskell-ci
6
6
#
7
- # version: 0.3
7
+ # version: 0.9.20200325
8
8
#
9
+ version : ~> 1.0
9
10
language : c
11
+ os : linux
10
12
dist : xenial
11
-
12
13
git :
13
- submodules : false # whether to recursively clone submodules
14
-
14
+ # whether to recursively clone submodules
15
+ submodules : false
15
16
notifications :
16
17
irc :
17
18
channels :
18
- - " irc.freenode.org#hackage"
19
+ - irc.freenode.org#hackage
19
20
skip_join : true
20
21
template :
21
22
- " \x03 13zlib\x03 /\x03 06%{branch}\x03 \x03 14%{commit}\x03 %{build_url} %{message}"
22
-
23
23
cache :
24
24
directories :
25
25
- $HOME/.cabal/packages
26
26
- $HOME/.cabal/store
27
-
27
+ - $HOME/.hlint
28
28
before_cache :
29
29
- rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
30
30
# remove files that are regenerated by 'cabal update'
@@ -33,105 +33,141 @@ before_cache:
33
33
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache
34
34
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
35
35
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
36
-
37
36
- rm -rfv $CABALHOME/packages/head.hackage
38
-
39
- matrix :
37
+ jobs :
40
38
include :
41
- - compiler : " ghc-8.6.4"
42
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.6.4,zlib1g-dev], sources: [hvr-ghc]}}
43
- - compiler : " ghc-8.4.4"
44
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.4.4,zlib1g-dev], sources: [hvr-ghc]}}
45
- - compiler : " ghc-8.2.2"
46
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.2.2,zlib1g-dev], sources: [hvr-ghc]}}
47
- - compiler : " ghc-8.0.2"
48
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.0.2,zlib1g-dev], sources: [hvr-ghc]}}
49
- - compiler : " ghc-8.0.1"
50
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.0.1,zlib1g-dev], sources: [hvr-ghc]}}
51
- - compiler : " ghc-7.10.3"
52
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.10.3,zlib1g-dev], sources: [hvr-ghc]}}
53
- - compiler : " ghc-7.8.4"
54
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.8.4,zlib1g-dev], sources: [hvr-ghc]}}
55
- - compiler : " ghc-7.6.3"
56
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.6.3,zlib1g-dev], sources: [hvr-ghc]}}
57
- - compiler : " ghc-7.4.2"
58
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.4.2,zlib1g-dev], sources: [hvr-ghc]}}
59
- - compiler : " ghc-7.2.2"
60
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.2.2,zlib1g-dev], sources: [hvr-ghc]}}
61
- - compiler : " ghc-7.0.4"
62
- addons : {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.0.4,zlib1g-dev], sources: [hvr-ghc]}}
63
-
39
+ - compiler : ghc-8.10.1
40
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.10.1","cabal-install-3.2","zlib1g-dev"]}}
41
+ os : linux
42
+ - compiler : ghc-8.8.3
43
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.8.3","cabal-install-3.0","zlib1g-dev"]}}
44
+ os : linux
45
+ - compiler : ghc-8.6.5
46
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.6.5","cabal-install-3.0","zlib1g-dev"]}}
47
+ os : linux
48
+ - compiler : ghc-8.4.4
49
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.4.4","cabal-install-3.0","zlib1g-dev"]}}
50
+ os : linux
51
+ - compiler : ghc-8.2.2
52
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.2.2","cabal-install-3.0","zlib1g-dev"]}}
53
+ os : linux
54
+ - compiler : ghc-8.0.2
55
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.0.2","cabal-install-3.0","zlib1g-dev"]}}
56
+ os : linux
57
+ - compiler : ghc-8.0.1
58
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.0.1","cabal-install-3.0","zlib1g-dev"]}}
59
+ os : linux
60
+ - compiler : ghc-7.10.3
61
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.10.3","cabal-install-3.0","zlib1g-dev"]}}
62
+ os : linux
63
+ - compiler : ghc-7.8.4
64
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.8.4","cabal-install-3.0","zlib1g-dev"]}}
65
+ os : linux
66
+ - compiler : ghc-7.6.3
67
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.6.3","cabal-install-3.0","zlib1g-dev"]}}
68
+ os : linux
69
+ - compiler : ghc-7.4.2
70
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.4.2","cabal-install-3.0","zlib1g-dev"]}}
71
+ os : linux
72
+ - compiler : ghc-7.2.2
73
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.2.2","cabal-install-3.0","zlib1g-dev"]}}
74
+ os : linux
75
+ - compiler : ghc-7.0.4
76
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.0.4","cabal-install-3.0","zlib1g-dev"]}}
77
+ os : linux
64
78
before_install :
65
- - HC=/opt/ghc/bin/${CC}
66
- - HCPKG=${HC/ghc/ghc-pkg}
79
+ - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
80
+ - WITHCOMPILER="-w $HC"
81
+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
82
+ - HCPKG="$HC-pkg"
67
83
- unset CC
68
84
- CABAL=/opt/ghc/bin/cabal
69
85
- CABALHOME=$HOME/.cabal
70
86
- export PATH="$CABALHOME/bin:$PATH"
71
- - ROOTDIR =$(pwd)
72
- - HCNUMVER=$(( $($ {HC} --numeric-version|sed -E 's/([0-9] +)\.([0-9] +)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
87
+ - TOP =$(pwd)
88
+ - " HCNUMVER=$($ {HC} --numeric-version|perl -ne '/^( \\ d +)\\ .( \\ d +)\\ .( \\ d+)( \\ .( \\ d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') "
73
89
- echo $HCNUMVER
74
-
75
- install :
76
- - ${CABAL} --version
77
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
90
+ - CABAL="$CABAL -vnormal+nowrap"
91
+ - set -o pipefail
78
92
- TEST=--enable-tests
79
93
- if [ $HCNUMVER -lt 70400 ] ; then TEST=--disable-tests ; fi
80
94
- BENCH=--enable-benchmarks
81
- - GHCHEAD=${GHCHEAD-false}
82
- - travis_retry ${CABAL} update -v
83
- - sed -i.bak 's/^jobs:/-- jobs:/' $CABALHOME/config
84
- - rm -fv cabal.project cabal.project.local
85
- - grep -Ev -- '^\s*--' $CABALHOME/config | grep -Ev '^\s*$'
86
- - rm -f cabal.project
95
+ - HEADHACKAGE=false
96
+ - rm -f $CABALHOME/config
97
+ - |
98
+ echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
99
+ echo "remote-build-reporting: anonymous" >> $CABALHOME/config
100
+ echo "write-ghc-environment-files: always" >> $CABALHOME/config
101
+ echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
102
+ echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
103
+ echo "world-file: $CABALHOME/world" >> $CABALHOME/config
104
+ echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
105
+ echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
106
+ echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
107
+ echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
108
+ echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
109
+ echo "install-dirs user" >> $CABALHOME/config
110
+ echo " prefix: $CABALHOME" >> $CABALHOME/config
111
+ echo "repository hackage.haskell.org" >> $CABALHOME/config
112
+ echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
113
+ install :
114
+ - ${CABAL} --version
115
+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
116
+ - |
117
+ echo "program-default-options" >> $CABALHOME/config
118
+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
119
+ - cat $CABALHOME/config
120
+ - rm -fv cabal.project cabal.project.local cabal.project.freeze
121
+ - travis_retry ${CABAL} v2-update -v
122
+ # Generate cabal.project
123
+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
87
124
- touch cabal.project
88
- - " printf 'packages: \" . \"\\ n' >> cabal.project "
89
- - " printf 'write-ghc-environment-files: always \\ n' >> cabal.project"
90
- - touch cabal.project.local
91
- - " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(zlib)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
125
+ - |
126
+ echo "packages: ." >> cabal.project
127
+ - |
128
+ - " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | ( grep -vE -- '^(zlib)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
92
129
- cat cabal.project || true
93
130
- cat cabal.project.local || true
94
131
- if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
95
- - rm -f cabal.project.freeze
96
- - ${CABAL} new-freeze -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dry
97
- - " cat \" cabal.project.freeze\" | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
98
- - rm "cabal.project.freeze"
99
- - ${CABAL} new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all
100
- - ${CABAL} new-build -w ${HC} --disable-tests --disable-benchmarks --project-file="cabal.project" --dep -j2 all
101
- - rm -rf .ghc.environment.* "."/dist
102
- - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
103
-
104
- # Here starts the actual work to be performed for the package under test;
105
- # any command which exits with a non-zero exit code causes the build to fail.
132
+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
133
+ - " cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
134
+ - rm cabal.project.freeze
135
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all
136
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all
106
137
script :
107
- # test that source-distributions can be generated
108
- - ${CABAL} new-sdist all
138
+ - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
139
+ # Packaging...
140
+ - ${CABAL} v2-sdist all
141
+ # Unpacking...
109
142
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
110
143
- cd ${DISTDIR} || false
111
- - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
112
- - rm -f cabal.project
144
+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
145
+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
146
+ - PKGDIR_zlib="$(find . -maxdepth 1 -type d -regex '.*/zlib-[0-9.]*')"
147
+ # Generate cabal.project
148
+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
113
149
- touch cabal.project
114
- - " printf 'packages: \" zlib-*/*.cabal \"\\ n' >> cabal.project "
115
- - " printf 'write-ghc-environment-files: always \\ n' >> cabal.project"
116
- - touch cabal.project.local
117
- - " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(zlib)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
150
+ - |
151
+ echo "packages: ${PKGDIR_zlib}" >> cabal.project
152
+ - |
153
+ - " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | ( grep -vE -- '^(zlib)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
118
154
- cat cabal.project || true
119
155
- cat cabal.project.local || true
156
+ # Building...
120
157
# this builds all libraries and executables (without tests/benchmarks)
121
- - ${CABAL} new -build -w ${HC} --disable-tests --disable-benchmarks all
122
-
158
+ - ${CABAL} v2 -build $WITHCOMPILER --disable-tests --disable-benchmarks all
159
+ # Building with tests and benchmarks...
123
160
# build & run tests, build benchmarks
124
- - ${CABAL} new-build -w ${HC} ${TEST} ${BENCH} all
125
- - if [ $HCNUMVER -ge 70400 ] ; then ${CABAL} new-test -w ${HC} ${TEST} ${BENCH} all ; fi
126
-
127
- # cabal check
128
- - (cd zlib-* && ${CABAL} check)
129
-
130
- # haddock
131
- - ${CABAL} new-haddock -w ${HC} ${TEST} ${BENCH} all
132
-
133
- # Build without installed constraints for packages in global-db
134
- - rm -f cabal.project.local; ${CABAL} new-build -w ${HC} --disable-tests --disable-benchmarks all;
161
+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all
162
+ # Testing...
163
+ - if [ $HCNUMVER -ge 70400 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all ; fi
164
+ # cabal check...
165
+ - (cd ${PKGDIR_zlib} && ${CABAL} -vnormal check)
166
+ # haddock...
167
+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all
168
+ # Building without installed constraints for packages in global-db...
169
+ - rm -f cabal.project.local
170
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
135
171
136
- # REGENDATA ["-o",".travis.yml","--irc-channels=irc.freenode.org#hackage","zlib.cabal","--apt=zlib1g-dev","--tests-jobs=>=7.4"]
172
+ # REGENDATA ("0.9.20200325", ["-o",".travis.yml","--irc-channels=irc.freenode.org#hackage","zlib.cabal","--apt=zlib1g-dev","--tests-jobs=>=7.4"])
137
173
# EOF
0 commit comments