uofw/.travis.yml
Martin Charles 01134359ab Configured travis to build and deploy the executables
The executables are rebuilt whenever the utils/ directory is modified or when the commit title contains [exec-build]. I have also added an option to disable rebuilding the documentation with the [docs-skip] directive. When [docs-skip] is in the commit title the documentation is not updated. This commit also makes travis preserve the history of the gh-pages branch.
2014-05-14 17:09:27 -04:00

64 lines
2.1 KiB
YAML

language: cpp
branches:
only:
- master
env:
global:
- secure: "aiH0ZGvhmY7ldfRxngIZHDuWE7ZF5UpVL577hIOUW1P+t+5lOq4hXpTaJgbaEgl0ZQ9GudeFpwx+OvUoxGwLa1wofGGSygeYRl0rfui3XkNx+5RevZ+KOuRQcv+4gJ15twvhP4+XHKfE/B8HWTO5IGN+ntRn+NzXJQLUZFXnOW8=" # GH_AUTH
before_install:
- sudo apt-get update -qq
- sudo apt-get remove mingw* -q
install:
- sudo apt-get install doxygen g++-mingw-w64-i686 -q
- cd ..
- wget https://dl.dropboxusercontent.com/u/23414835/PSPSDK/psptoolchain_1.0_amd64.deb -O psptoolchain.deb
- sudo dpkg --install psptoolchain.deb
- source /etc/profile.d/psptoolchain.sh
- cd $TRAVIS_BUILD_DIR
script:
- make -k
after_script:
- if [[ $TRAVIS_PULL_REQUEST == 'false' && $TRAVIS_BRANCH == 'master' ]]; then
- mkdir gh-pages && cd gh-pages
- git clone "https://github.com/$TRAVIS_REPO_SLUG.git" --branch gh-pages .
- export GIT_ROOT=$TRAVIS_BUILD_DIR
- if [[ $(git -C $GIT_ROOT log --pretty=%s -1 $TRAVIS_COMMIT) != *"[docs-skip]"* ]]; then
- doxygen ../docs/Doxyfile
- fi
- if [[ $(git -C $GIT_ROOT log --pretty=%s -1 $TRAVIS_COMMIT) == *"[exec-build]"* || $(git -C $GIT_ROOT diff-tree --name-only --no-commit-id $TRAVIS_COMMIT $GIT_ROOT/utils) ]]; then
- cd $GIT_ROOT/utils
- mkdir -p ../gh-pages/executables
- make mrproper all CC=gcc -m32 CXX=g++ -m32
- for file in $(find */ -executable -type f); do
- mv $file "../gh-pages/executables/$(basename $file)-i386"
- done
- make mrproper all CC="i686-w64-mingw32-gcc -m32" CXX="i686-w64-mingw32-g++ -m32"
- for file in $(find */ -executable -type f); do
- mv $file "../gh-pages/executables/$(basename $file)-i386.exe"
- done
- fi
- cd $GIT_ROOT/gh-pages
- git config user.email "travis@example.com"
- git config user.name "uOFW Doc builder"
- git remote set-url origin "https://${GH_AUTH}@github.com/$TRAVIS_REPO_SLUG.git"
- git checkout gh-pages
- git add .
- git commit -am "Rebuilt docs for $TRAVIS_COMMIT"
- git push origin gh-pages 2>&1 | sed "s/${GH_AUTH}/[secure]/gi"
- fi