Build system: Improve and fix deployment
This commit is contained in:
parent
6e88e7ffbb
commit
4fb0b408e2
17
.travis.yml
17
.travis.yml
@ -23,20 +23,13 @@ jobs:
|
|||||||
|
|
||||||
# Deployment stage
|
# Deployment stage
|
||||||
- stage: deploy
|
- stage: deploy
|
||||||
|
sudo: required
|
||||||
install:
|
install:
|
||||||
- '[ "$TRAVIS_PULL_REQUEST" == "false" ] || travis_terminate 0'
|
- '[ "$TRAVIS_PULL_REQUEST" == "false" ] || travis_terminate 0'
|
||||||
- '[[ ",$DEPLOY_PHPDOC_BRANCHES," == *,"$TRAVIS_BRANCH",* ]] || travis_terminate 0'
|
- '[ -n "$TRAVIS_TAG" ] || [[ ",$DEPLOY_PHPDOC_BRANCHES," == *,"$TRAVIS_BRANCH",* ]] || travis_terminate 0'
|
||||||
- install.sh
|
- install.sh --deploy
|
||||||
script:
|
script:
|
||||||
- deploy-branch.sh
|
- deploy.sh
|
||||||
|
|
||||||
# Release stage
|
|
||||||
- stage: release
|
|
||||||
install:
|
|
||||||
- '[ -n "$TRAVIS_TAG" ] || travis_terminate 0'
|
|
||||||
- install.sh
|
|
||||||
script:
|
|
||||||
- deploy-release.sh
|
|
||||||
before_deploy:
|
before_deploy:
|
||||||
- create-release.sh "pico-release-$TRAVIS_TAG.tar.gz"
|
- create-release.sh "pico-release-$TRAVIS_TAG.tar.gz"
|
||||||
deploy:
|
deploy:
|
||||||
@ -45,6 +38,8 @@ jobs:
|
|||||||
file: pico-release-$TRAVIS_TAG.tar.gz
|
file: pico-release-$TRAVIS_TAG.tar.gz
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
draft: true
|
draft: true
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
|
|
||||||
# Ignore nightly build failures
|
# Ignore nightly build failures
|
||||||
allow_failures:
|
allow_failures:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. "$(dirname "$0")/functions/parse-version.sh.inc"
|
. "$(dirname "$0")/tools/functions/parse-version.sh.inc"
|
||||||
export PATH="$(dirname "$0")/tools:$PATH"
|
export PATH="$(dirname "$0")/tools:$PATH"
|
||||||
|
|
||||||
DEPLOYMENT_ID="${TRAVIS_TAG//\//_}"
|
DEPLOYMENT_ID="${TRAVIS_TAG//\//_}"
|
||||||
|
@ -13,6 +13,9 @@ DEPLOYMENT_DIR="$TRAVIS_BUILD_DIR/_build/deploy-$DEPLOYMENT_ID.git"
|
|||||||
VERSION="$(php -r 'require_once(__DIR__ . "/lib/Pico.php"); echo Pico::VERSION;')"
|
VERSION="$(php -r 'require_once(__DIR__ . "/lib/Pico.php"); echo Pico::VERSION;')"
|
||||||
MILESTONE="Pico$([[ "$VERSION" =~ ^([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
|
MILESTONE="Pico$([[ "$VERSION" =~ ^([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
|
||||||
|
|
||||||
|
echo "Deploying $TRAVIS_BRANCH branch ($MILESTONE)..."
|
||||||
|
echo
|
||||||
|
|
||||||
# clone repo
|
# clone repo
|
||||||
github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
|
github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ if [ "$DEPLOY_FULL" != "true" ]; then
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
. "$(dirname "$0")/functions/parse-version.sh.inc"
|
. "$(dirname "$0")/tools/functions/parse-version.sh.inc"
|
||||||
export PATH="$(dirname "$0")/tools:$PATH"
|
export PATH="$(dirname "$0")/tools:$PATH"
|
||||||
|
|
||||||
DEPLOYMENT_ID="${TRAVIS_TAG//\//_}"
|
DEPLOYMENT_ID="${TRAVIS_TAG//\//_}"
|
||||||
@ -46,6 +46,12 @@ if ! parse_version "$TRAVIS_TAG"; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "Deploying Pico $VERSION_MILESTONE ($VERSION_STABILITY)..."
|
||||||
|
printf 'VERSION_FULL="%s"\n' "$VERSION_FULL"
|
||||||
|
printf 'VERSION_NAME="%s"\n' "$VERSION_NAME"
|
||||||
|
printf 'VERSION_ID="%s"\n' "$VERSION_ID"
|
||||||
|
echo
|
||||||
|
|
||||||
# clone repo
|
# clone repo
|
||||||
github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
|
github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
|
||||||
|
|
||||||
@ -56,14 +62,11 @@ github-setup.sh
|
|||||||
|
|
||||||
# generate phpDocs
|
# generate phpDocs
|
||||||
if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
|
if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
|
||||||
# get current Pico milestone
|
|
||||||
MILESTONE="Pico $VERSION_MILESTONE"
|
|
||||||
|
|
||||||
# generate phpDocs
|
# generate phpDocs
|
||||||
generate-phpdoc.sh \
|
generate-phpdoc.sh \
|
||||||
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \
|
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \
|
||||||
"-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
|
"-" "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID" \
|
||||||
"$MILESTONE API Documentation ($TRAVIS_TAG)"
|
"Pico $VERSION_MILESTONE API Documentation ($TRAVIS_TAG)"
|
||||||
|
|
||||||
if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then
|
if [ -n "$(git status --porcelain "$DEPLOYMENT_DIR/phpDoc/$DEPLOYMENT_ID")" ]; then
|
||||||
# update phpDoc list
|
# update phpDoc list
|
||||||
@ -79,7 +82,7 @@ if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# don't update version badge, version file and cloc statistics for pre-releases
|
# don't update version badge, version file and cloc statistics for pre-releases
|
||||||
if [ "$VERSION_STABILITY" != "stable" ]; then
|
if [ "$VERSION_STABILITY" == "stable" ]; then
|
||||||
# update version badge
|
# update version badge
|
||||||
if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
|
if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
|
||||||
generate-badge.sh \
|
generate-badge.sh \
|
||||||
|
6
_build/deploy.sh
Executable file
6
_build/deploy.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
if [ -n "$TRAVIS_TAG" ]; then
|
||||||
|
exec "$(dirname "$0")/deploy-release.sh"
|
||||||
|
else
|
||||||
|
exec "$(dirname "$0")/deploy-branch.sh"
|
||||||
|
fi
|
@ -1,4 +1,19 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# setup build system
|
||||||
|
echo "Installing build dependencies..."
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"--deploy")
|
||||||
|
sudo apt-get install -y cloc
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
|
# setup composer
|
||||||
|
echo "Setup Composer..."
|
||||||
|
|
||||||
# let composer use our GITHUB_OAUTH_TOKEN
|
# let composer use our GITHUB_OAUTH_TOKEN
|
||||||
if [ -n "$GITHUB_OAUTH_TOKEN" ]; then
|
if [ -n "$GITHUB_OAUTH_TOKEN" ]; then
|
||||||
@ -28,8 +43,8 @@ if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_RE
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
# install dependencies
|
# install dependencies
|
||||||
echo "Running \`composer install\`$([ -n "$COMPOSER_ROOT_VERSION" ] && echo -n " ($COMPOSER_ROOT_VERSION)")..."
|
echo "Running \`composer install\`$([ -n "$COMPOSER_ROOT_VERSION" ] && echo -n " ($COMPOSER_ROOT_VERSION)")..."
|
||||||
composer install --no-suggest
|
composer install --no-suggest
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user