deploy-phpdoc-branch.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env bash
  2. if [ "$TRAVIS_PHP_VERSION" != "5.3" ]; then
  3. echo "Skipping branch deployment because this is not on the required runtime"
  4. exit 0
  5. fi
  6. if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
  7. echo "Skipping branch deployment because this pull request (#$TRAVIS_PULL_REQUEST) is not permitted to deploy"
  8. exit 0
  9. fi
  10. if [[ ",$DEPLOY_PHPDOC_BRANCHES," != *,"$TRAVIS_BRANCH",* ]]; then
  11. echo "Skipping phpDoc branch deployment because this branch ($TRAVIS_BRANCH) is not permitted to deploy"
  12. exit 0
  13. fi
  14. DEPLOYMENT_ID="${TRAVIS_BRANCH//\//_}"
  15. DEPLOYMENT_DIR="$TRAVIS_BUILD_DIR/_build/deploy-$DEPLOYMENT_ID.git"
  16. # get current Pico milestone
  17. VERSION="$(php -r 'require_once(__DIR__ . "/lib/Pico.php"); echo Pico::VERSION;')"
  18. MILESTONE="Pico$([[ "$VERSION" =~ ^([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
  19. # clone repo
  20. echo "Cloning repo..."
  21. git clone --branch="gh-pages" "https://github.com/$TRAVIS_REPO_SLUG.git" "$DEPLOYMENT_DIR"
  22. [ $? -eq 0 ] || exit 1
  23. cd "$DEPLOYMENT_DIR"
  24. echo
  25. # setup repo
  26. github-setup.sh
  27. # generate phpDocs
  28. generate-phpdoc.sh \
  29. "$TRAVIS_BUILD_DIR/.phpdoc.xml" \
  30. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  31. "$MILESTONE API Documentation ($TRAVIS_BRANCH branch)"
  32. [ $? -eq 0 ] || exit 1
  33. [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache")" ] || exit 0
  34. # commit phpDocs
  35. echo "Committing changes..."
  36. git add "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID"
  37. git commit \
  38. --message="Update phpDocumentor class docs for $TRAVIS_BRANCH branch @ $TRAVIS_COMMIT" \
  39. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID"
  40. [ $? -eq 0 ] || exit 1
  41. echo
  42. # deploy phpDocs
  43. github-deploy.sh "$TRAVIS_REPO_SLUG" "heads/$TRAVIS_BRANCH" "$TRAVIS_COMMIT"
  44. [ $? -eq 0 ] || exit 1