124 lines
3.8 KiB
Bash
Executable file
124 lines
3.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
DEPLOY_FULL="true"
|
|
if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ]; then
|
|
echo "Skipping phpDoc release deployment because it has been disabled"
|
|
DEPLOY_FULL="false"
|
|
fi
|
|
if [ "$DEPLOY_VERSION_BADGE" != "true" ]; then
|
|
echo "Skipping version badge deployment because it has been disabled"
|
|
DEPLOY_FULL="false"
|
|
fi
|
|
if [ "$DEPLOY_VERSION_FILE" != "true" ]; then
|
|
echo "Skipping version file deployment because it has been disabled"
|
|
DEPLOY_FULL="false"
|
|
fi
|
|
if [ "$DEPLOY_CLOC_STATS" != "true" ]; then
|
|
echo "Skipping cloc statistics deployment because it has been disabled"
|
|
DEPLOY_FULL="false"
|
|
fi
|
|
|
|
if [ "$DEPLOY_FULL" != "true" ]; then
|
|
if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ] \
|
|
&& [ "$DEPLOY_VERSION_BADGE" != "true" ] \
|
|
&& [ "$DEPLOY_VERSION_FILE" != "true" ] \
|
|
&& [ "$DEPLOY_CLOC_STATS" != "true" ]
|
|
then
|
|
# nothing to do
|
|
exit 0
|
|
fi
|
|
echo
|
|
fi
|
|
|
|
export PATH="$(dirname "$0")/tools:$PATH"
|
|
|
|
DEPLOYMENT_ID="${TRAVIS_TAG//\//_}"
|
|
DEPLOYMENT_DIR="$TRAVIS_BUILD_DIR/_build/deploy-$DEPLOYMENT_ID.git"
|
|
|
|
[ -n "$DEPLOY_REPO_SLUG" ] || export DEPLOY_REPO_SLUG="$TRAVIS_REPO_SLUG"
|
|
[ -n "$DEPLOY_REPO_BRANCH" ] || export DEPLOY_REPO_BRANCH="gh-pages"
|
|
|
|
# clone repo
|
|
github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
|
|
|
|
cd "$DEPLOYMENT_DIR"
|
|
|
|
# setup repo
|
|
github-setup.sh
|
|
|
|
# generate phpDocs
|
|
if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
|
|
# get current Pico milestone
|
|
MILESTONE="Pico$([[ "$TRAVIS_TAG" =~ ^v([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
|
|
|
|
# generate phpDocs
|
|
generate-phpdoc.sh \
|
|
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \
|
|
"-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
|
|
"$MILESTONE API Documentation ($TRAVIS_TAG)"
|
|
|
|
if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then
|
|
# update phpDoc list
|
|
update-phpdoc-list.sh \
|
|
"$DEPLOYMENT_DIR/_data/phpDoc.yml" \
|
|
"$TRAVIS_TAG" "version" "Pico ${TRAVIS_TAG#v}" "$(date +%s)"
|
|
|
|
# commit phpDocs
|
|
echo "Committing phpDoc changes..."
|
|
git add --all "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" "$DEPLOYMENT_DIR/_data/phpDoc.yml"
|
|
git commit \
|
|
--message="Update phpDocumentor class docs for $TRAVIS_TAG" \
|
|
"$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" "$DEPLOYMENT_DIR/_data/phpDoc.yml"
|
|
echo
|
|
fi
|
|
fi
|
|
|
|
# update version badge
|
|
if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
|
|
generate-badge.sh \
|
|
"$DEPLOYMENT_DIR/badges/pico-version.svg" \
|
|
"release" "$TRAVIS_TAG" "blue"
|
|
|
|
# commit version badge
|
|
echo "Committing version badge..."
|
|
git add "$DEPLOYMENT_DIR/badges/pico-version.svg"
|
|
git commit \
|
|
--message="Update version badge for $TRAVIS_TAG" \
|
|
"$DEPLOYMENT_DIR/badges/pico-version.svg"
|
|
echo
|
|
fi
|
|
|
|
# update version file
|
|
if [ "$DEPLOY_VERSION_FILE" == "true" ]; then
|
|
update-version-file.sh \
|
|
"$DEPLOYMENT_DIR/_data/version.yml" \
|
|
"${TRAVIS_TAG#v}"
|
|
|
|
# commit version file
|
|
echo "Committing version file..."
|
|
git add "$DEPLOYMENT_DIR/_data/version.yml"
|
|
git commit \
|
|
--message="Update version file for $TRAVIS_TAG" \
|
|
"$DEPLOYMENT_DIR/_data/version.yml"
|
|
echo
|
|
fi
|
|
|
|
# update cloc statistics
|
|
if [ "$DEPLOY_CLOC_STATS" == "true" ]; then
|
|
update-cloc-stats.sh \
|
|
"$DEPLOYMENT_DIR/_data/clocCore.yml" \
|
|
"$DEPLOYMENT_DIR/_data/clocRelease.yml"
|
|
|
|
# commit cloc statistics
|
|
echo "Commiting cloc statistics..."
|
|
git add "$DEPLOYMENT_DIR/_data/clocCore.yml" "$DEPLOYMENT_DIR/_data/clocRelease.yml"
|
|
git commit \
|
|
--message="Update cloc statistics for $TRAVIS_TAG" \
|
|
"$DEPLOYMENT_DIR/_data/clocCore.yml" "$DEPLOYMENT_DIR/_data/clocRelease.yml"
|
|
echo
|
|
fi
|
|
|
|
# deploy
|
|
github-deploy.sh "$TRAVIS_REPO_SLUG" "tags/$TRAVIS_TAG" "$TRAVIS_COMMIT"
|