diff options
Diffstat (limited to 'tests/travis/gen_apidocs.sh')
-rwxr-xr-x | tests/travis/gen_apidocs.sh | 47 |
1 files changed, 6 insertions, 41 deletions
diff --git a/tests/travis/gen_apidocs.sh b/tests/travis/gen_apidocs.sh index ed5e429fa..e5938e1e8 100755 --- a/tests/travis/gen_apidocs.sh +++ b/tests/travis/gen_apidocs.sh @@ -56,48 +56,13 @@ mkdir -p ./doc/html # Redirect stderr and stdout to log file and console to be able to review documentation errors doxygen $DOXYFILE 2>&1 | tee ./doc/html/doxygen.log - -# There is no sane way yet, to prevent missuse of the push tokens in our workflow. -# We would need a way to limit a token to only push to gh-pages or a way to prevent -# manipulations to travis scripts which is not possible because we want it to run -# for pull requests. -# There are protected branches in GitHub, but they do not work for forced pushes. -exit - -# Only continue for master branch pushes -if [[ "$TRAVIS_EVENT_TYPE" != "push" ]] || [[ "$TRAVIS_BRANCH" != "master" ]]; then - echo "Conditions not met to build API documentation." - echo "We are finished ..." -# exit -fi - -# Check if GitHub token is configured in Travis to be able to push to the repo -if [ -z "$GHP_TOKEN" ]; then - echo "No GitHub token configured in Travis, can not deploy to gh-pages ..." - echo "Add Environment Variable 'GHP_TOKEN' in Travis CI project settings" - echo "with a 'Personal access token' from GitHub with 'repo:public_repo'." - exit -fi - -# Upload the API documentation to the gh-pages branch of the GitHub repository. -# Only upload if Doxygen successfully created the documentation. +# Check if Doxygen successfully created the documentation if [ -d "doc/html" ] && [ -f "doc/html/index.html" ]; then - echo "Uploading API documentation to the gh-pages branch ..." - - # Add the new API documentation as a Git commit - cd ./doc/html - - # Create and configure a new git repo for committing to gh-pages - git init - # Add a fake Travis CI user - git config user.name "Travis CI" - git config user.email "travis@travis-ci.org" - # Add the generated API documentation - git add --all - git commit -q -m "API documentation generated by Travis build: ${TRAVIS_BUILD_NUMBER}" -m "From commit: ${TRAVIS_COMMIT}" - - # No need for a history, force push to the remote gh-pages branch - git push -f "https://${GHP_TOKEN}@${GHP_REPO_REF}" master:gh-pages > /dev/null 2>&1 + echo "API documentation generated" + if [ -n "${TRAVIS_TAG}" ]; then + echo "Generate API documentation archive for release deployment ..." + zip -9 -r -q doc/hubzilla-api-documentation.zip doc/html/ + fi else echo "No API documentation files have been found" >&2 exit 1 |