deploy-phpdoc-release.sh 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. [ -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. echo "Cloning repo..."
  20. git clone --branch="$DEPLOY_REPO_BRANCH" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOYMENT_DIR"
  21. [ $? -eq 0 ] || exit 1
  22. cd "$DEPLOYMENT_DIR"
  23. echo
  24. # setup repo
  25. github-setup.sh
  26. # generate phpDocs
  27. if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
  28. generate-phpdoc.sh \
  29. "$TRAVIS_BUILD_DIR/.phpdoc.xml" \
  30. "-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  31. "Pico 1.0 API Documentation ($TRAVIS_TAG)"
  32. [ $? -eq 0 ] || exit 1
  33. if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then
  34. # update phpDoc list
  35. update-phpdoc-list.sh \
  36. "$DEPLOYMENT_DIR/_data/phpDoc.yml" \
  37. "$TRAVIS_TAG" "version" "Pico ${TRAVIS_TAG#v}" "$(date +%s)"
  38. # commit phpDocs
  39. echo "Committing phpDoc changes..."
  40. git add "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" "$DEPLOYMENT_DIR/_data/phpDoc.yml"
  41. git commit \
  42. --message="Update phpDocumentor class docs for $TRAVIS_TAG" \
  43. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" "$DEPLOYMENT_DIR/_data/phpDoc.yml"
  44. [ $? -eq 0 ] || exit 1
  45. echo
  46. fi
  47. fi
  48. # update version badge
  49. if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
  50. generate-badge.sh \
  51. "$DEPLOYMENT_DIR/badges/pico-version.svg" \
  52. "release" "$TRAVIS_TAG" "blue"
  53. # commit version badge
  54. echo "Committing version badge..."
  55. git add "$DEPLOYMENT_DIR/badges/pico-version.svg"
  56. git commit \
  57. --message="Update version badge for $TRAVIS_TAG" \
  58. "$DEPLOYMENT_DIR/badges/pico-version.svg"
  59. [ $? -eq 0 ] || exit 1
  60. echo
  61. fi
  62. # update version file
  63. if [ "$DEPLOY_VERSION_FILE" == "true" ]; then
  64. update-version-file.sh \
  65. "$DEPLOYMENT_DIR/_data/version.yml" \
  66. "${TRAVIS_TAG#v}"
  67. # commit version file
  68. echo "Committing version file..."
  69. git add "$DEPLOYMENT_DIR/_data/version.yml"
  70. git commit \
  71. --message="Update version file for $TRAVIS_TAG" \
  72. "$DEPLOYMENT_DIR/_data/version.yml"
  73. [ $? -eq 0 ] || exit 1
  74. echo
  75. fi
  76. # deploy
  77. github-deploy.sh "$TRAVIS_REPO_SLUG" "tags/$TRAVIS_TAG" "$TRAVIS_COMMIT"
  78. [ $? -eq 0 ] || exit 1