TRAVIS: build gh-pages
This commit is contained in:
parent
837333d8e2
commit
c2bbaa26cf
10
.travis.yml
10
.travis.yml
@ -17,7 +17,12 @@ matrix:
|
||||
allow_failures:
|
||||
- env: CABALVER=head GHCVER=head
|
||||
|
||||
env:
|
||||
global:
|
||||
- secure: "qAzj5tgAghFIfO6R/+Hdc5KcFhwXKNXMICNH7VLmqLzmYxk1UEkpi6hgX/f1bP5mLd07D+0IaeGFIUIWQOp+F/Du1NiX3yGbFuTt/Ja4I0K4ooCQc0w9uYLv8epxzp3VEOEI5sVCSpSomFjr7V0jwwTcBbxGUvv1VaGkJwAexRxCHuwU23KD0toECkVDsOMN/Gg2Ue/r2o+MsGx1/B9WMF0g6+zWlnrYfYZXWetl0DwATK5lZTa/21THdMrbuPX0fijGXTywvURDpCd3wIdfx9n7jPO2Gp2rcxPL/WkcIpzI211g4hEiheS+AlVyW39+C4i4MKaNK8YC+/5DRl/YHrFc7n3SZPDh+RMs6r3DS41RyRhQhz8DE0Pg4zfe/WUX4+h72TijCZ1zduh146rofwku/IGtCz5cuel+7cmTPk9ZyENYnH0ZMftkZjor9J/KamcMsN4zfaQBNJuIM3Kg8HVts3ymNIWrJ1LUn41MNt1eBDDvOWxZaHrjLyATRCFYvMr4RE01pqYKnWZ9RFfzVaYjD0QQWPWAXcCtkcAHSR6T0NxAqjLmHBNm+yWYIKG+bK2CvPNYTTNN8n4UvY1SrBpJEnLcRRns3U8nM7SVZ4GMaYzOTWtN1n0zamsl42wV0L/wqpz1SePkRZ34jca3V07XRLQSN2wjj8DyvOZUFR0="
|
||||
|
||||
before_install:
|
||||
- sudo apt-get install -y hscolour
|
||||
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
|
||||
|
||||
install:
|
||||
@ -48,6 +53,11 @@ script:
|
||||
echo "expected '$SRC_TGZ' not found";
|
||||
exit 1;
|
||||
fi
|
||||
- sed -i -e '/hsfm,/d' hsfm.cabal
|
||||
- cabal haddock --executables --internal --hyperlink-source --html-location=https://hackage.haskell.org/package/\$pkg-\$version/docs/
|
||||
|
||||
after_script:
|
||||
- ./update-gh-pages.sh
|
||||
|
||||
notifications:
|
||||
email:
|
||||
|
52
update-gh-pages.sh
Executable file
52
update-gh-pages.sh
Executable file
@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
SOURCE_BRANCH="master"
|
||||
TARGET_BRANCH="gh-pages"
|
||||
REPO="https://${GH_TOKEN}@github.com/hasufell/hsfm"
|
||||
DOC_LOCATION="/dist/doc/html/hsfm/hsfm-gtk"
|
||||
|
||||
|
||||
# Pull requests and commits to other branches shouldn't try to deploy,
|
||||
# just build to verify
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then
|
||||
echo "Skipping docs deploy."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
cd "$HOME"
|
||||
git config --global user.email "travis@travis-ci.org"
|
||||
git config --global user.name "travis-ci"
|
||||
git clone --branch=${TARGET_BRANCH} ${REPO} ${TARGET_BRANCH} || exit 1
|
||||
|
||||
# docs
|
||||
cd ${TARGET_BRANCH} || exit 1
|
||||
echo "Removing old docs."
|
||||
rm -rf *
|
||||
echo "Adding new docs."
|
||||
cp -rf "${TRAVIS_BUILD_DIR}${DOC_LOCATION}"/* . || exit 1
|
||||
|
||||
# If there are no changes to the compiled out (e.g. this is a README update)
|
||||
# then just bail.
|
||||
if [ -z "`git diff --exit-code`" ]; then
|
||||
echo "No changes to the output on this push; exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git add -- .
|
||||
|
||||
if [[ -e ./index.html ]] ; then
|
||||
echo "Commiting docs."
|
||||
git commit -m "Lastest docs updated
|
||||
|
||||
travis build: $TRAVIS_BUILD_NUMBER
|
||||
commit: $TRAVIS_COMMIT
|
||||
auto-pushed to gh-pages"
|
||||
|
||||
git push origin $TARGET_BRANCH
|
||||
echo "Published docs to gh-pages."
|
||||
else
|
||||
echo "Error: docs are empty."
|
||||
exit 1
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user