Build system: Improve and fix deployment

pico-3.0-alpha
Daniel Rudolf 8 years ago
parent 6e88e7ffbb
commit 4fb0b408e2
No known key found for this signature in database
GPG Key ID: A061F02CD8DE4538
  1. 17
      .travis.yml
  2. 2
      _build/create-release.sh
  3. 3
      _build/deploy-branch.sh
  4. 15
      _build/deploy-release.sh
  5. 6
      _build/deploy.sh
  6. 19
      _build/install.sh

@ -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 \

@ -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…
Cancel
Save