From 6f7c6d5a22aec4c237f00bae8f27a3877419537b Mon Sep 17 00:00:00 2001 From: Julien Tanguy Date: Sat, 5 Sep 2015 02:14:47 +0200 Subject: Make travis push haddock to gh-pages --- .travis.yml | 16 +++++++++++++--- scripts/pushdoc.sh | 24 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 scripts/pushdoc.sh diff --git a/.travis.yml b/.travis.yml index f0ecd95..6d0e226 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,8 @@ language: c sudo: false + + cache: directories: - $HOME/.cabsnap @@ -16,10 +18,14 @@ matrix: - env: CABALVER=1.18 GHCVER=7.8.4 compiler: ": #GHC 7.8.4" addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4], sources: [hvr-ghc]}} - - env: CABALVER=1.22 GHCVER=7.10.1 - compiler: ": #GHC 7.10.1" - addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.1], sources: [hvr-ghc]}} + - env: CABALVER=1.22 GHCVER=7.10.2 + compiler: ": #GHC 7.10.2" + addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2], sources: [hvr-ghc]}} +env: + global: + - GH_REF: github.com/jtanguy/hmacaroons.git + - secure: "ITyaZaTiQFOUQFN24wFWuo5sYuVJg6UQSJd28NpGdCJS9NOMk2ijZfDpY05+dug9TacmiALZ5Lt3Xlcx0pJSRkpYbG0AaB1k/52/D2LtOF13fDPAxHNbfvBRiUS4hk2LBl3SQFimYoTRNA/ssXvgjwehTB4ytkPgkLZu3rODin8=" before_install: - unset CC @@ -71,10 +77,14 @@ script: - cabal check - cabal sdist # tests that a source-distribution can be generated + - bash ./scripts/pushdoc.sh + # Check that the resulting source distribution can be built & installed. # If there are no other `.tar.gz` files in `dist`, this can be even simpler: # `cabal install --force-reinstalls dist/*-*.tar.gz` - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz && (cd dist && cabal install --force-reinstalls "$SRC_TGZ") + + # EOF diff --git a/scripts/pushdoc.sh b/scripts/pushdoc.sh new file mode 100644 index 0000000..ddab752 --- /dev/null +++ b/scripts/pushdoc.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e # exit with nonzero exit code if anything fails + +cabal haddock + +pushd dist/doc/html/hmacaroons +git init + +# inside this git repo we'll pretend to be a new user +git config user.name "Travis CI" +git config user.email "julien.tanguy@jhome.fr" + +# The first and only commit to this new Git repo contains all the +# files present with the commit message "Deploy to GitHub Pages". +git add . +git commit -m "Deploy to GitHub Pages" + +# Force push from the current repo's master branch to the remote +# repo's gh-pages branch. (All previous history on the gh-pages branch +# will be lost, since we are overwriting it.) We redirect any output to +# /dev/null to hide any sensitive credential data that might otherwise be exposed. +git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages > /dev/null 2>&1 + +popd -- cgit v1.2.3