deploy-phpdoc-branch.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. [ -n "$DEPLOY_REPO_SLUG" ] || export DEPLOY_REPO_SLUG="$TRAVIS_REPO_SLUG"
  17. [ -n "$DEPLOY_REPO_BRANCH" ] || export DEPLOY_REPO_BRANCH="gh-pages"
  18. # clone repo
  19. github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
  20. [ $? -eq 0 ] || exit 1
  21. cd "$DEPLOYMENT_DIR"
  22. # setup repo
  23. github-setup.sh
  24. [ $? -eq 0 ] || exit 1
  25. # generate phpDocs
  26. generate-phpdoc.sh \
  27. "$TRAVIS_BUILD_DIR/.phpdoc.xml" \
  28. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  29. "Pico 1.0 API Documentation ($TRAVIS_BRANCH branch)"
  30. [ $? -eq 0 ] || exit 1
  31. [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache")" ] || exit 0
  32. # update phpDoc list
  33. update-phpdoc-list.sh \
  34. "$DEPLOYMENT_DIR/_data/phpDoc.yml" \
  35. "$TRAVIS_BRANCH" "branch" "<code>$TRAVIS_BRANCH</code> branch" "$(date +%s)"
  36. [ $? -eq 0 ] || exit 1
  37. # commit phpDocs
  38. echo "Committing changes..."
  39. git add \
  40. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  41. "$DEPLOYMENT_DIR/_data/phpDoc.yml"
  42. git commit \
  43. --message="Update phpDocumentor class docs for $TRAVIS_BRANCH branch @ $TRAVIS_COMMIT" \
  44. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  45. "$DEPLOYMENT_DIR/_data/phpDoc.yml"
  46. [ $? -eq 0 ] || exit 1
  47. echo
  48. # deploy phpDocs
  49. github-deploy.sh "$TRAVIS_REPO_SLUG" "heads/$TRAVIS_BRANCH" "$TRAVIS_COMMIT"
  50. [ $? -eq 0 ] || exit 1