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:
|
allow_failures:
|
||||||
- env: CABALVER=head GHCVER=head
|
- 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:
|
before_install:
|
||||||
|
- sudo apt-get install -y hscolour
|
||||||
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
|
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@ -48,6 +53,11 @@ script:
|
|||||||
echo "expected '$SRC_TGZ' not found";
|
echo "expected '$SRC_TGZ' not found";
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
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:
|
notifications:
|
||||||
email:
|
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