deploy-phpdoc-release.sh 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/usr/bin/env bash
  2. if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ]; then
  3. echo "Skipping phpDoc release deployment because it has been disabled"
  4. fi
  5. if [ "$DEPLOY_VERSION_BADGE" != "true" ]; then
  6. echo "Skipping version badge deployment because it has been disabled"
  7. fi
  8. if [ "$DEPLOY_VERSION_FILE" != "true" ]; then
  9. echo "Skipping version file deployment because it has been disabled"
  10. fi
  11. if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ] || [ "$DEPLOY_VERSION_BADGE" != "true" ] || [ "$DEPLOY_VERSION_FILE" != "true" ]; then
  12. [ "$DEPLOY_PHPDOC_RELEASES" != "true" ] && [ "$DEPLOY_VERSION_BADGE" != "true" ] && [ "$DEPLOY_VERSION_FILE" != "true" ] && exit 0 || echo
  13. fi
  14. DEPLOYMENT_ID="${TRAVIS_BRANCH//\//_}"
  15. DEPLOYMENT_DIR="$TRAVIS_BUILD_DIR/_build/deploy-$DEPLOYMENT_ID.git"
  16. # clone repo
  17. echo "Cloning repo..."
  18. git clone --branch="gh-pages" "https://github.com/$TRAVIS_REPO_SLUG.git" "$DEPLOYMENT_DIR"
  19. [ $? -eq 0 ] || exit 1
  20. cd "$DEPLOYMENT_DIR"
  21. echo
  22. # setup repo
  23. github-setup.sh
  24. # generate phpDocs
  25. if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
  26. # get current Pico milestone
  27. MILESTONE="Pico$([[ "$TRAVIS_TAG" =~ ^v([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
  28. # generate phpDocs
  29. generate-phpdoc.sh \
  30. "$TRAVIS_BUILD_DIR/.phpdoc.xml" \
  31. "-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  32. "$MILESTONE API Documentation ($TRAVIS_TAG)"
  33. [ $? -eq 0 ] || exit 1
  34. # commit phpDocs
  35. if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then
  36. echo "Committing phpDoc changes..."
  37. git add "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID"
  38. git commit \
  39. --message="Update phpDocumentor class docs for $TRAVIS_TAG" \
  40. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID"
  41. [ $? -eq 0 ] || exit 1
  42. echo
  43. fi
  44. fi
  45. # update version badge
  46. if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
  47. generate-badge.sh \
  48. "$DEPLOYMENT_DIR/badges/pico-version.svg" \
  49. "release" "$TRAVIS_TAG" "blue"
  50. # commit version badge
  51. echo "Committing version badge..."
  52. git add "$DEPLOYMENT_DIR/badges/pico-version.svg"
  53. git commit \
  54. --message="Update version badge for $TRAVIS_TAG" \
  55. "$DEPLOYMENT_DIR/badges/pico-version.svg"
  56. [ $? -eq 0 ] || exit 1
  57. echo
  58. fi
  59. # update version file
  60. if [ "$DEPLOY_VERSION_FILE" == "true" ]; then
  61. generate-version.sh \
  62. "$DEPLOYMENT_DIR/_data/version.yml" \
  63. "${TRAVIS_TAG#v}"
  64. # commit version file
  65. echo "Committing version file..."
  66. git add "$DEPLOYMENT_DIR/_data/version.yml"
  67. git commit \
  68. --message="Update version file for $TRAVIS_TAG" \
  69. "$DEPLOYMENT_DIR/_data/version.yml"
  70. [ $? -eq 0 ] || exit 1
  71. echo
  72. fi
  73. # deploy
  74. github-deploy.sh "$TRAVIS_REPO_SLUG" "tags/$TRAVIS_TAG" "$TRAVIS_COMMIT"
  75. [ $? -eq 0 ] || exit 1