Merge pull request #315 from picocms/enhancement/static-badges
Add static shields.io badge generatorpico-3.0-alpha
commit
dbd8fa8c2f
@ -1,40 +1,51 @@ |
|||||||
#!/usr/bin/env bash |
#!/usr/bin/env bash |
||||||
|
|
||||||
if [ "$TRAVIS_PHP_VERSION" != "5.3" ]; then |
if [ "$TRAVIS_PHP_VERSION" != "5.3" ]; then |
||||||
echo "Skipping phpDoc deployment because this is not on the required runtime" |
echo "Skipping branch deployment because this is not on the required runtime" |
||||||
exit |
exit 0 |
||||||
fi |
fi |
||||||
|
|
||||||
if [[ ",$DEPLOY_PHPDOC_BRANCHES," != *,"$TRAVIS_BRANCH",* ]]; then |
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then |
||||||
echo "Skipping phpDoc deployment because this branch ($TRAVIS_BRANCH) is not permitted to deploy" |
echo "Skipping branch deployment because this pull request (#$TRAVIS_PULL_REQUEST) is not permitted to deploy" |
||||||
exit |
exit 0 |
||||||
fi |
fi |
||||||
|
|
||||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then |
if [[ ",$DEPLOY_PHPDOC_BRANCHES," != *,"$TRAVIS_BRANCH",* ]]; then |
||||||
echo "Skipping phpDoc deployment because this pull request (#$TRAVIS_PULL_REQUEST) is not permitted to deploy" |
echo "Skipping phpDoc branch deployment because this branch ($TRAVIS_BRANCH) is not permitted to deploy" |
||||||
exit |
exit 0 |
||||||
fi |
fi |
||||||
|
|
||||||
PHPDOC_ID="${TRAVIS_BRANCH//\//_}" |
DEPLOYMENT_ID="${TRAVIS_BRANCH//\//_}" |
||||||
PHPDOC_GIT_DIR="$TRAVIS_BUILD_DIR/_build/phpdoc-$PHPDOC_ID.git" |
DEPLOYMENT_DIR="$TRAVIS_BUILD_DIR/_build/deploy-$DEPLOYMENT_ID.git" |
||||||
|
|
||||||
# clone repo |
# clone repo |
||||||
echo "Cloning repo..." |
echo "Cloning repo..." |
||||||
git clone --branch="gh-pages" "https://github.com/$TRAVIS_REPO_SLUG.git" "$PHPDOC_GIT_DIR" |
git clone --branch="gh-pages" "https://github.com/$TRAVIS_REPO_SLUG.git" "$DEPLOYMENT_DIR" |
||||||
[ $? -eq 0 ] || exit 1 |
[ $? -eq 0 ] || exit 1 |
||||||
|
|
||||||
cd "$PHPDOC_GIT_DIR" |
cd "$DEPLOYMENT_DIR" |
||||||
echo |
echo |
||||||
|
|
||||||
|
# setup repo |
||||||
|
github-setup.sh |
||||||
|
|
||||||
# generate phpDocs |
# generate phpDocs |
||||||
generate-phpdoc.sh \ |
generate-phpdoc.sh \ |
||||||
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \ |
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \ |
||||||
"$PHPDOC_GIT_DIR/phpDoc/$PHPDOC_ID.cache" "$PHPDOC_GIT_DIR/phpDoc/$PHPDOC_ID" \ |
"$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \ |
||||||
"Pico 1.0 API Documentation ($TRAVIS_BRANCH branch)" |
"Pico 1.0 API Documentation ($TRAVIS_BRANCH branch)" |
||||||
[ $? -eq 0 ] || exit 1 |
[ $? -eq 0 ] || exit 1 |
||||||
|
[ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache")" ] || exit 0 |
||||||
|
|
||||||
|
# commit phpDocs |
||||||
|
echo "Committing changes..." |
||||||
|
git add "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" |
||||||
|
git commit \ |
||||||
|
--message="Update phpDocumentor class docs for $TRAVIS_BRANCH branch @ $TRAVIS_COMMIT" \ |
||||||
|
"$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID.cache" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" |
||||||
|
[ $? -eq 0 ] || exit 1 |
||||||
|
echo |
||||||
|
|
||||||
# deploy phpDocs |
# deploy phpDocs |
||||||
deploy-phpdoc.sh \ |
github-deploy.sh "$TRAVIS_REPO_SLUG" "heads/$TRAVIS_BRANCH" "$TRAVIS_COMMIT" |
||||||
"Update phpDocumentor class docs for $TRAVIS_BRANCH branch @ $TRAVIS_COMMIT" \ |
|
||||||
"$TRAVIS_REPO_SLUG" "heads/$TRAVIS_BRANCH" "$TRAVIS_COMMIT" |
|
||||||
[ $? -eq 0 ] || exit 1 |
[ $? -eq 0 ] || exit 1 |
||||||
|
@ -1,27 +1,65 @@ |
|||||||
#!/usr/bin/env bash |
#!/usr/bin/env bash |
||||||
|
|
||||||
[ "$DEPLOY_PHPDOC_RELEASES" == "true" ] || exit |
if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ]; then |
||||||
|
echo "Skipping phpDoc release deployment because it has been disabled" |
||||||
|
fi |
||||||
|
if [ "$DEPLOY_VERSION_BADGE" != "true" ]; then |
||||||
|
echo "Skipping version badge deployment because it has been disabled" |
||||||
|
fi |
||||||
|
if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ] || [ "$DEPLOY_VERSION_BADGE" != "true" ]; then |
||||||
|
[ "$DEPLOY_PHPDOC_RELEASES" != "true" ] && [ "$DEPLOY_VERSION_BADGE" != "true" ] && exit 0 || echo |
||||||
|
fi |
||||||
|
|
||||||
PHPDOC_ID="${TRAVIS_BRANCH//\//_}" |
DEPLOYMENT_ID="${TRAVIS_BRANCH//\//_}" |
||||||
PHPDOC_GIT_DIR="$TRAVIS_BUILD_DIR/_build/phpdoc-$PHPDOC_ID.git" |
DEPLOYMENT_DIR="$TRAVIS_BUILD_DIR/_build/deploy-$DEPLOYMENT_ID.git" |
||||||
|
|
||||||
# clone repo |
# clone repo |
||||||
echo "Cloning repo..." |
echo "Cloning repo..." |
||||||
git clone --branch="gh-pages" "https://github.com/$TRAVIS_REPO_SLUG.git" "$PHPDOC_GIT_DIR" |
git clone --branch="gh-pages" "https://github.com/$TRAVIS_REPO_SLUG.git" "$DEPLOYMENT_DIR" |
||||||
[ $? -eq 0 ] || exit 1 |
[ $? -eq 0 ] || exit 1 |
||||||
|
|
||||||
cd "$PHPDOC_GIT_DIR" |
cd "$DEPLOYMENT_DIR" |
||||||
echo |
echo |
||||||
|
|
||||||
|
# setup repo |
||||||
|
github-setup.sh |
||||||
|
|
||||||
# generate phpDocs |
# generate phpDocs |
||||||
|
if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then |
||||||
generate-phpdoc.sh \ |
generate-phpdoc.sh \ |
||||||
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \ |
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \ |
||||||
"-" "$PHPDOC_GIT_DIR/phpDoc/$PHPDOC_ID" \ |
"-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \ |
||||||
"Pico 1.0 API Documentation ($TRAVIS_TAG)" |
"Pico 1.0 API Documentation ($TRAVIS_TAG)" |
||||||
[ $? -eq 0 ] || exit 1 |
[ $? -eq 0 ] || exit 1 |
||||||
|
|
||||||
# deploy phpDocs |
# commit phpDocs |
||||||
deploy-phpdoc.sh \ |
if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then |
||||||
"Update phpDocumentor class docs for $TRAVIS_TAG" \ |
echo "Committing phpDoc changes..." |
||||||
"$TRAVIS_REPO_SLUG" "tags/$TRAVIS_TAG" "$TRAVIS_COMMIT" |
git add "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" |
||||||
|
git commit \ |
||||||
|
--message="Update phpDocumentor class docs for $TRAVIS_TAG" \ |
||||||
|
"$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" |
||||||
|
[ $? -eq 0 ] || exit 1 |
||||||
|
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 changes..." |
||||||
|
git add "$DEPLOYMENT_DIR/badges/pico-version.svg" |
||||||
|
git commit \ |
||||||
|
--message="Update version badge for $TRAVIS_TAG" \ |
||||||
|
"$DEPLOYMENT_DIR/badges/pico-version.svg" |
||||||
|
[ $? -eq 0 ] || exit 1 |
||||||
|
echo |
||||||
|
fi |
||||||
|
|
||||||
|
# deploy |
||||||
|
github-deploy.sh "$TRAVIS_REPO_SLUG" "tags/$TRAVIS_TAG" "$TRAVIS_COMMIT" |
||||||
[ $? -eq 0 ] || exit 1 |
[ $? -eq 0 ] || exit 1 |
||||||
|
@ -0,0 +1,55 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
## |
||||||
|
# Downloads a custom badge from shields.io |
||||||
|
# |
||||||
|
# All credit goes to the awesome guys at shields.io! |
||||||
|
# |
||||||
|
# @see http://shields.io/ |
||||||
|
# |
||||||
|
# @author Daniel Rudolf |
||||||
|
# @link http://picocms.org |
||||||
|
# @license http://opensource.org/licenses/MIT |
||||||
|
# |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
# parameters |
||||||
|
BADGE_FILE_PATH="$1" # target file path |
||||||
|
BADGE_SUBJECT="$2" # subject (left half) of the badge |
||||||
|
BADGE_STATUS="$3" # status (right half) of the badge |
||||||
|
BADGE_COLOR="$4" # color of the badge |
||||||
|
|
||||||
|
# print parameters |
||||||
|
echo "Generating badge..." |
||||||
|
printf 'BADGE_FILE_PATH="%s"\n' "$BADGE_FILE_PATH" |
||||||
|
printf 'BADGE_SUBJECT="%s"\n' "$BADGE_SUBJECT" |
||||||
|
printf 'BADGE_STATUS="%s"\n' "$BADGE_STATUS" |
||||||
|
printf 'BADGE_COLOR="%s"\n' "$BADGE_COLOR" |
||||||
|
echo |
||||||
|
|
||||||
|
# download badge from shields.io |
||||||
|
printf 'Downloading badge...\n' |
||||||
|
TMP_BADGE="$(mktemp -u)" |
||||||
|
|
||||||
|
curl --location --output "$TMP_BADGE" \ |
||||||
|
"https://img.shields.io/badge/$BADGE_SUBJECT-$BADGE_STATUS-$BADGE_COLOR.svg" |
||||||
|
|
||||||
|
# validate badge |
||||||
|
if [ ! -f "$TMP_BADGE" ] || [ ! -s "$TMP_BADGE" ]; then |
||||||
|
echo "Unable to generate badge; skipping..." >&2 |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
# MIME type image/svg+xml isn't supported at the moment |
||||||
|
# |
||||||
|
#TMP_BADGE_MIME="$(file --mime-type "$TMP_BADGE" | cut -d ' ' -f 2)" |
||||||
|
#if [ "$TMP_BADGE_MIME" != "image/svg+xml" ]; then |
||||||
|
# echo "Generated badge should be of type 'image/svg+xml', '$TMP_BADGE_MIME' given; aborting...\n" >&2 |
||||||
|
# exit 1 |
||||||
|
#fi |
||||||
|
|
||||||
|
# deploy badge |
||||||
|
mv "$TMP_BADGE" "$BADGE_FILE_PATH" |
||||||
|
|
||||||
|
echo |
@ -0,0 +1,37 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
## |
||||||
|
# Prepares a GitHub repo for deployment |
||||||
|
# |
||||||
|
# @author Daniel Rudolf |
||||||
|
# @link http://picocms.org |
||||||
|
# @license http://opensource.org/licenses/MIT |
||||||
|
# |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
# environment variables |
||||||
|
# GITHUB_OAUTH_TOKEN GitHub authentication token, see https://github.com/settings/tokens |
||||||
|
|
||||||
|
# print "parameters" (we don't have any) |
||||||
|
echo "Setup repo..." |
||||||
|
echo |
||||||
|
|
||||||
|
# check for git repo |
||||||
|
if ! git rev-parse --git-dir > /dev/null 2>&1; then |
||||||
|
echo "Not a git repo; aborting..." >&2 |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
# setup git |
||||||
|
printf 'Preparing repo...\n' |
||||||
|
git config push.default simple |
||||||
|
git config user.name "Travis CI" |
||||||
|
git config user.email "travis-ci@picocms.org" |
||||||
|
|
||||||
|
if [ -n "$GITHUB_OAUTH_TOKEN" ]; then |
||||||
|
git config credential.helper 'store --file=.git/credentials' |
||||||
|
(umask 077 && echo "https://GitHub:$GITHUB_OAUTH_TOKEN@github.com" > .git/credentials) |
||||||
|
fi |
||||||
|
|
||||||
|
echo |
Loading…
Reference in new issue