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
|
||||
- stage: deploy
|
||||
sudo: required
|
||||
install:
|
||||
- '[ "$TRAVIS_PULL_REQUEST" == "false" ] || travis_terminate 0'
|
||||
- '[[ ",$DEPLOY_PHPDOC_BRANCHES," == *,"$TRAVIS_BRANCH",* ]] || travis_terminate 0'
|
||||
- install.sh
|
||||
- '[ -n "$TRAVIS_TAG" ] || [[ ",$DEPLOY_PHPDOC_BRANCHES," == *,"$TRAVIS_BRANCH",* ]] || travis_terminate 0'
|
||||
- install.sh --deploy
|
||||
script:
|
||||
- deploy-branch.sh
|
||||
|
||||
# Release stage
|
||||
- stage: release
|
||||
install:
|
||||
- '[ -n "$TRAVIS_TAG" ] || travis_terminate 0'
|
||||
- install.sh
|
||||
script:
|
||||
- deploy-release.sh
|
||||
- deploy.sh
|
||||
before_deploy:
|
||||
- create-release.sh "pico-release-$TRAVIS_TAG.tar.gz"
|
||||
deploy:
|
||||
@ -45,6 +38,8 @@ jobs:
|
||||
file: pico-release-$TRAVIS_TAG.tar.gz
|
||||
skip_cleanup: true
|
||||
draft: true
|
||||
on:
|
||||
tags: true
|
||||
|
||||
# Ignore nightly build failures
|
||||
allow_failures:
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
. "$(dirname "$0")/functions/parse-version.sh.inc"
|
||||
. "$(dirname "$0")/tools/functions/parse-version.sh.inc"
|
||||
export PATH="$(dirname "$0")/tools:$PATH"
|
||||
|
||||
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;')"
|
||||
MILESTONE="Pico$([[ "$VERSION" =~ ^([0-9]+\.[0-9]+)\. ]] && echo " ${BASH_REMATCH[1]}")"
|
||||
|
||||
echo "Deploying $TRAVIS_BRANCH branch ($MILESTONE)..."
|
||||
echo
|
||||
|
||||
# clone repo
|
||||
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
|
||||
fi
|
||||
|
||||
. "$(dirname "$0")/functions/parse-version.sh.inc"
|
||||
. "$(dirname "$0")/tools/functions/parse-version.sh.inc"
|
||||
export PATH="$(dirname "$0")/tools:$PATH"
|
||||
|
||||
DEPLOYMENT_ID="${TRAVIS_TAG//\//_}"
|
||||
@ -46,6 +46,12 @@ if ! parse_version "$TRAVIS_TAG"; then
|
||||
exit 1
|
||||
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
|
||||
github-clone.sh "$DEPLOYMENT_DIR" "https://github.com/$DEPLOY_REPO_SLUG.git" "$DEPLOY_REPO_BRANCH"
|
||||
|
||||
@ -56,14 +62,11 @@ github-setup.sh
|
||||
|
||||
# generate phpDocs
|
||||
if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
|
||||
# get current Pico milestone
|
||||
MILESTONE="Pico $VERSION_MILESTONE"
|
||||
|
||||
# generate phpDocs
|
||||
generate-phpdoc.sh \
|
||||
"$TRAVIS_BUILD_DIR/.phpdoc.xml" \
|
||||
"-" "$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
|
||||
# update phpDoc list
|
||||
@ -79,7 +82,7 @@ if [ "$DEPLOY_PHPDOC_RELEASES" == "true" ]; then
|
||||
fi
|
||||
|
||||
# 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
|
||||
if [ "$DEPLOY_VERSION_BADGE" == "true" ]; then
|
||||
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
|
||||
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
|
||||
if [ -n "$GITHUB_OAUTH_TOKEN" ]; then
|
||||
@ -28,8 +43,8 @@ if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_RE
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
# install dependencies
|
||||
echo "Running \`composer install\`$([ -n "$COMPOSER_ROOT_VERSION" ] && echo -n " ($COMPOSER_ROOT_VERSION)")..."
|
||||
composer install --no-suggest
|
||||
|
||||
exit $?
|
||||
|
Loading…
x
Reference in New Issue
Block a user