deploy-phpdoc-release.sh 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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" ] || [ "$DEPLOY_CLOC_STATS" != "true" ]; then
  12. [ "$DEPLOY_PHPDOC_RELEASES" != "true" ] && [ "$DEPLOY_VERSION_BADGE" != "true" ] && [ "$DEPLOY_VERSION_FILE" != "true" ] && [ "$DEPLOY_CLOC_STATS" != "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. 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. if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
  27. # get current Pico milestone
  28. MILESTONE="Pico$([[ "$TRAVIS_TAG" =~ ^v([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
  29. # generate phpDocs
  30. generate-phpdoc.sh \
  31. "$TRAVIS_BUILD_DIR/.phpdoc.xml" \
  32. "-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
  33. "$MILESTONE API Documentation ($TRAVIS_TAG)"
  34. [ $? -eq 0 ] || exit 1
  35. if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then
  36. # update phpDoc list
  37. update-phpdoc-list.sh \
  38. "$DEPLOYMENT_DIR/_data/phpDoc.yml" \
  39. "$TRAVIS_TAG" "version" "Pico ${TRAVIS_TAG#v}" "$(date +%s)"
  40. [ $? -eq 0 ] || exit 1
  41. # commit phpDocs
  42. echo "Committing phpDoc changes..."
  43. git add --all "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" "$DEPLOYMENT_DIR/_data/phpDoc.yml"
  44. git commit \
  45. --message="Update phpDocumentor class docs for $TRAVIS_TAG" \
  46. "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" "$DEPLOYMENT_DIR/_data/phpDoc.yml"
  47. [ $? -eq 0 ] || exit 1
  48. echo
  49. fi
  50. fi
  51. # update version badge
  52. if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
  53. generate-badge.sh \
  54. "$DEPLOYMENT_DIR/badges/pico-version.svg" \
  55. "release" "$TRAVIS_TAG" "blue"
  56. [ $? -eq 0 ] || exit 1
  57. # commit version badge
  58. echo "Committing version badge..."
  59. git add "$DEPLOYMENT_DIR/badges/pico-version.svg"
  60. git commit \
  61. --message="Update version badge for $TRAVIS_TAG" \
  62. "$DEPLOYMENT_DIR/badges/pico-version.svg"
  63. [ $? -eq 0 ] || exit 1
  64. echo
  65. fi
  66. # update version file
  67. if [ "$DEPLOY_VERSION_FILE" == "true" ]; then
  68. update-version-file.sh \
  69. "$DEPLOYMENT_DIR/_data/version.yml" \
  70. "${TRAVIS_TAG#v}"
  71. [ $? -eq 0 ] || exit 1
  72. # commit version file
  73. echo "Committing version file..."
  74. git add "$DEPLOYMENT_DIR/_data/version.yml"
  75. git commit \
  76. --message="Update version file for $TRAVIS_TAG" \
  77. "$DEPLOYMENT_DIR/_data/version.yml"
  78. [ $? -eq 0 ] || exit 1
  79. echo
  80. fi
  81. # update cloc statistics
  82. if [ "$DEPLOY_CLOC_STATS" == "true" ]; then
  83. update-cloc-stats.sh \
  84. "$DEPLOYMENT_DIR/_data/clocCore.yml" \
  85. "$DEPLOYMENT_DIR/_data/clocRelease.yml"
  86. [ $? -eq 0 ] || exit 1
  87. # commit cloc statistics
  88. echo "Commiting cloc statistics..."
  89. git add "$DEPLOYMENT_DIR/_data/clocCore.yml" "$DEPLOYMENT_DIR/_data/clocRelease.yml"
  90. git commit \
  91. --message="Update cloc statistics for $TRAVIS_TAG" \
  92. "$DEPLOYMENT_DIR/_data/clocCore.yml" "$DEPLOYMENT_DIR/_data/clocRelease.yml"
  93. [ $? -eq 0 ] || exit 1
  94. echo
  95. fi
  96. # deploy
  97. github-deploy.sh "$TRAVIS_REPO_SLUG" "tags/$TRAVIS_TAG" "$TRAVIS_COMMIT"
  98. [ $? -eq 0 ] || exit 1