git.iko.soy/typeable/hjsonschema
on master help sign in
Switch to `make_travis_yml_2.hs` for TravisCI.

This lets us catch missing modules in `other-modules`.

commit445f47746baee10c6d16bf93b55b7bf082afb3d6 authorIan Grant Jeffries <ian@housejeffries.com> dateMon 27 Mar 2017, 15:49 (10 years ago) parentdd65df3
4 files changed+57−55
.travis.yml+53−55 README.md+2 hjsonschema.cabal+1 run-stack-haddock+1
.travis.yml+53−55
@@ -1,84 +1,82 @@
1−# Generated by: https://github.com/hvr/multi-ghc-travis
1+# This Travis job script has been generated by a script via
2+#
3+# make_travis_yml_2.hs 'hjsonschema.cabal'
4+#
5+# For more information, see https://github.com/hvr/multi-ghc-travis
26#
3−# Removed `cabal check` because I don't want a description field.
4−
57language: c
68sudo: false
79
10+git:
11+ submodules: false # whether to recursively clone submodules
12+
813cache:
914 directories:
10− - $HOME/.cabsnap
1115 - $HOME/.cabal/packages
16+ - $HOME/.cabal/store
1217
1318before_cache:
1419 - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
15− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
20+ # remove files that are regenerated by 'cabal update'
21+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*
22+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json
23+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache
24+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
25+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
1626
1727matrix:
1828 include:
19− - env: CABALVER=1.18 GHCVER=7.8.4
20− compiler: ": #GHC 7.8.4"
21− addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4], sources: [hvr-ghc]}}
22− - env: CABALVER=1.22 GHCVER=7.10.2
23− compiler: ": #GHC 7.10.2"
24− addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2], sources: [hvr-ghc]}}
25− - env: CABALVER=1.24 GHCVER=8.0.1
26− compiler: ": #GHC 8.0.1"
27− addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1], sources: [hvr-ghc]}}
29+ - compiler: "ghc-7.8.4"
30+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
31+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}
32+ - compiler: "ghc-7.10.2"
33+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
34+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.2], sources: [hvr-ghc]}}
35+ - compiler: "ghc-8.0.1"
36+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
37+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.1], sources: [hvr-ghc]}}
2838
2939before_install:
40+ - HC=${CC}
3041 - unset CC
31− - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
42+ - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
43+ - PKGNAME='hjsonschema'
3244
3345install:
3446 - cabal --version
35− - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
36− - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
37− then
38− zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
39− $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
40− fi
47+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
48+ - BENCH=${BENCH---enable-benchmarks}
49+ - TEST=${TEST---enable-tests}
4150 - travis_retry cabal update -v
4251 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
43− - cabal install --only-dependencies --enable-tests --enable-benchmarks --dry -v > installplan.txt
44− - sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
45−
46−# check whether current requested install-plan matches cached package-db snapshot
47− - if diff -u installplan.txt $HOME/.cabsnap/installplan.txt;
48− then
49− echo "cabal build-cache HIT";
50− rm -rfv .ghc;
51− cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
52− cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/;
53− else
54− echo "cabal build-cache MISS";
55− rm -rf $HOME/.cabsnap;
56− mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
57− cabal install --only-dependencies --enable-tests --enable-benchmarks;
58− fi
59−
60−# snapshot package-db on cache miss
61− - if [ ! -d $HOME/.cabsnap ];
62− then
63− echo "snapshotting package-db to build-cache";
64− mkdir $HOME/.cabsnap;
65− cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
66− cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin installplan.txt $HOME/.cabsnap/;
67− fi
52+ - rm -fv cabal.project.local
53+ - "echo 'packages: .' > cabal.project"
54+ - rm -f cabal.project.freeze
55+ - cabal new-build -w ${HC} ${TEST} ${BENCH} --dep -j2 all
56+ - cabal new-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2 all
6857
6958# Here starts the actual work to be performed for the package under test;
7059# any command which exits with a non-zero exit code causes the build to fail.
7160script:
7261 - if [ -f configure.ac ]; then autoreconf -i; fi
73− - cabal configure --enable-tests --enable-benchmarks -v2 # -v2 provides useful information for debugging
74− - cabal build # this builds all libraries and executables (including tests/benchmarks)
75− - cabal test
76− - cabal sdist # tests that a source-distribution can be generated
62+ - rm -rf dist/
63+ - cabal sdist # test that a source-distribution can be generated
64+ - cd dist/
65+ - SRCTAR=(${PKGNAME}-*.tar.gz)
66+ - SRC_BASENAME="${SRCTAR/%.tar.gz}"
67+ - tar -xvf "./$SRC_BASENAME.tar.gz"
68+ - cd "$SRC_BASENAME/"
69+## from here on, CWD is inside the extracted source-tarball
70+ - rm -fv cabal.project.local
71+ - "echo 'packages: .' > cabal.project"
72+ # this builds all libraries and executables (without tests/benchmarks)
73+ - rm -f cabal.project.freeze
74+ - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
75+ # this builds all libraries and executables (including tests/benchmarks)
76+ # - rm -rf ./dist-newstyle
7777
78−# Check that the resulting source distribution can be built & installed.
79−# If there are no other `.tar.gz` files in `dist`, this can be even simpler:
80−# `cabal install --force-reinstalls dist/*-*.tar.gz`
81− - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz &&
82− (cd dist && cabal install --force-reinstalls "$SRC_TGZ")
78+ # build & run tests
79+ - cabal new-build -w ${HC} ${TEST} ${BENCH} all
80+ - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
8381
8482# EOF
README.md+2
@@ -56,6 +56,8 @@ Run remote tests (makes GETs to json-schema.org, also temporarily starts an HTTP
5656
5757+ `src/draft4.json` is from commit # c1b12bf699f29a04b4286711c6e3bbfba66f21e5 [here](https://github.com/json-schema/json-schema). The [root ref in remote ref](./JSON-Schema-Test-Suite/tests/draft4/refRemote.json) test has been modified to fix [#175](https://github.com/json-schema-org/JSON-Schema-Test-Suite/issues/175).
5858
59++ `.travis.yml` was created with `make_travis_yml_2.hs` commit # ea6c7d177a97bfbfb2fdc4deba943d60d2aff199.
60+
5961## Credits
6062
6163[TJ Weigel](http://tjweigel.com/) created the logo.
hjsonschema.cabal+1
@@ -9,6 +9,7 @@ maintainer: ian@housejeffries.com
99category: Data
1010build-type: Simple
1111cabal-version: >=1.10
12+tested-with: GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1
1213extra-source-files:
1314 changelog.md
1415 JSON-Schema-Test-Suite/remotes/*.json
run-stack-haddocknew file+1
@@ -0,0 +1 @@
1+../stack-haddock-upload/stack-haddock-upload hjsonschema # 1.2.0.1