1
1
# This Travis job script has been generated by a script via
2
2
#
3
- # haskell-ci 'hruby.cabal'
3
+ # haskell-ci 'hruby.cabal' '--output' '.travis.yml'
4
+ #
5
+ # To regenerate the script (for example after adjusting tested-with) run
6
+ #
7
+ # haskell-ci regenerate
4
8
#
5
9
# For more information, see https://github.com/haskell-CI/haskell-ci
6
10
#
7
- # version: 0.5.20190916
11
+ # version: 0.13.20211116
8
12
#
13
+ version : ~> 1.0
9
14
language : c
10
- dist : xenial
15
+ os : linux
16
+ dist : bionic
11
17
git :
12
18
# whether to recursively clone submodules
13
19
submodules : false
14
20
cache :
15
21
directories :
16
22
- $HOME/.cabal/packages
17
23
- $HOME/.cabal/store
24
+ - $HOME/.hlint
18
25
before_cache :
19
26
- rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
20
27
# remove files that are regenerated by 'cabal update'
@@ -24,18 +31,17 @@ before_cache:
24
31
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
25
32
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
26
33
- rm -rfv $CABALHOME/packages/head.hackage
27
- matrix :
34
+ jobs :
28
35
include :
36
+ - compiler : ghc-9.0.1
37
+ addons : {"apt":{"packages":["ghc-9.0.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
38
+ os : linux
39
+ - compiler : ghc-8.10.2
40
+ addons : {"apt":{"packages":["ghc-8.10.2","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
41
+ os : linux
29
42
- compiler : ghc-8.8.1
30
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0", "ruby2.3-dev"]}}
31
- - compiler : ghc-8.6.5
32
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-3.0", "ruby2.3-dev"]}}
33
- - compiler : ghc-8.4.4
34
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-3.0", "ruby2.3-dev"]}}
35
- - compiler : ghc-8.2.2
36
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-3.0", "ruby2.3-dev"]}}
37
- - compiler : ghc-8.0.2
38
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-3.0", "ruby2.3-dev"]}}
43
+ addons : {"apt":{"packages":["ghc-8.8.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
44
+ os : linux
39
45
before_install :
40
46
- HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
41
47
- WITHCOMPILER="-w $HC"
@@ -48,59 +54,31 @@ before_install:
48
54
- TOP=$(pwd)
49
55
- " HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\ d+)\\ .(\\ d+)\\ .(\\ d+)(\\ .(\\ d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')"
50
56
- echo $HCNUMVER
51
- - CABAL="$CABAL -vnormal+nowrap+markoutput "
57
+ - CABAL="$CABAL -vnormal+nowrap"
52
58
- set -o pipefail
53
- - |
54
- echo 'function blue(s) { printf "\033[0;34m" s "\033[0m " }' >> .colorful.awk
55
- echo 'BEGIN { state = "output"; }' >> .colorful.awk
56
- echo '/^-----BEGIN CABAL OUTPUT-----$/ { state = "cabal" }' >> .colorful.awk
57
- echo '/^-----END CABAL OUTPUT-----$/ { state = "output" }' >> .colorful.awk
58
- echo '!/^(-----BEGIN CABAL OUTPUT-----|-----END CABAL OUTPUT-----)/ {' >> .colorful.awk
59
- echo ' if (state == "cabal") {' >> .colorful.awk
60
- echo ' print blue($0)' >> .colorful.awk
61
- echo ' } else {' >> .colorful.awk
62
- echo ' print $0' >> .colorful.awk
63
- echo ' }' >> .colorful.awk
64
- echo '}' >> .colorful.awk
65
- - cat .colorful.awk
66
- - |
67
- color_cabal_output () {
68
- awk -f $TOP/.colorful.awk
69
- }
70
- - echo text | color_cabal_output
71
- - rm -rf /home/travis/.rvm
72
- install :
73
- - dpkg -l
74
- - ${CABAL} --version
75
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
76
59
- TEST=--enable-tests
77
60
- BENCH=--enable-benchmarks
78
61
- HEADHACKAGE=false
79
62
- rm -f $CABALHOME/config
80
63
- |
81
- echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
82
- echo "remote-build-reporting: anonymous" >> $CABALHOME/config
83
- echo "write-ghc-environment-files: always" >> $CABALHOME/config
84
- echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
85
- echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
86
- echo "world-file: $CABALHOME/world" >> $CABALHOME/config
87
- echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
88
- echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
89
- echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
90
- echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
91
- echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
92
- echo "install-dirs user" >> $CABALHOME/config
93
- echo " prefix: $CABALHOME" >> $CABALHOME/config
94
- echo "repository hackage.haskell.org" >> $CABALHOME/config
95
- echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
96
- echo " secure: True" >> $CABALHOME/config
97
- echo " key-threshold: 3" >> $CABALHOME/config
98
- echo " root-keys:" >> $CABALHOME/config
99
- echo " fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0" >> $CABALHOME/config
100
- echo " 1ea9ba32c526d1cc91ab5e5bd364ec5e9e8cb67179a471872f6e26f0ae773d42" >> $CABALHOME/config
101
- echo " 2c6c3627bd6c982990239487f1abd02e08a02e6cf16edb105a8012d444d870c3" >> $CABALHOME/config
102
- echo " 0a5c7ea47cd1b15f01f5f51a33adda7e655bc0f0b0615baa8e271f4c3351e21d" >> $CABALHOME/config
103
- echo " 51f0161b906011b52c6613376b1ae937670da69322113a246a09f807c62f6921" >> $CABALHOME/config
64
+ echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
65
+ echo "remote-build-reporting: anonymous" >> $CABALHOME/config
66
+ echo "write-ghc-environment-files: never" >> $CABALHOME/config
67
+ echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
68
+ echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
69
+ echo "world-file: $CABALHOME/world" >> $CABALHOME/config
70
+ echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
71
+ echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
72
+ echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
73
+ echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
74
+ echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
75
+ echo "install-dirs user" >> $CABALHOME/config
76
+ echo " prefix: $CABALHOME" >> $CABALHOME/config
77
+ echo "repository hackage.haskell.org" >> $CABALHOME/config
78
+ echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
79
+ install :
80
+ - ${CABAL} --version
81
+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
104
82
- |
105
83
echo "program-default-options" >> $CABALHOME/config
106
84
echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
@@ -112,20 +90,22 @@ install:
112
90
- touch cabal.project
113
91
- |
114
92
echo "packages: ." >> cabal.project
115
- - |
93
+ - echo 'package hruby' >> cabal.project
94
+ - " echo ' ghc-options: -Werror=missing-methods' >> cabal.project"
95
+ - " "
116
96
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(hruby)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
117
97
- cat cabal.project || true
118
98
- cat cabal.project.local || true
119
99
- if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
120
- - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
100
+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
121
101
- " cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
122
102
- rm cabal.project.freeze
123
- - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all | color_cabal_output
124
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all | color_cabal_output
103
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all
104
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all
125
105
script :
126
106
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
127
107
# Packaging...
128
- - ${CABAL} v2-sdist all | color_cabal_output
108
+ - ${CABAL} v2-sdist all
129
109
# Unpacking...
130
110
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
131
111
- cd ${DISTDIR} || false
@@ -137,25 +117,27 @@ script:
137
117
- touch cabal.project
138
118
- |
139
119
echo "packages: ${PKGDIR_hruby}" >> cabal.project
140
- - |
120
+ - echo 'package hruby' >> cabal.project
121
+ - " echo ' ghc-options: -Werror=missing-methods' >> cabal.project"
122
+ - " "
141
123
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(hruby)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
142
124
- cat cabal.project || true
143
125
- cat cabal.project.local || true
144
126
# Building...
145
127
# this builds all libraries and executables (without tests/benchmarks)
146
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
128
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
147
129
# Building with tests and benchmarks...
148
130
# build & run tests, build benchmarks
149
- - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
131
+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all --write-ghc-environment-files=always
150
132
# Testing...
151
- - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
133
+ - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all --test-show-details=direct
152
134
# cabal check...
153
135
- (cd ${PKGDIR_hruby} && ${CABAL} -vnormal check)
154
136
# haddock...
155
- - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all | color_cabal_output
137
+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all
156
138
# Building without installed constraints for packages in global-db...
157
139
- rm -f cabal.project.local
158
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
140
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
159
141
160
- # REGENDATA ["hruby.cabal"]
142
+ # REGENDATA ("0.13.20211116", ["hruby.cabal","--output",".travis.yml"])
161
143
# EOF
0 commit comments