Refactor Build system
- Separate Travis branch deployment and release deployment stages (also makes `deploy.sh` obsolete) - Add `clean.sh` and `release.sh` scripts to allow users to create "release" packages locally - Use `setup/*.sh` scripts to check and install build dependencies (like PHP_CodeSniffer, phpDocumentor and cloc) - Use `create-release.sh` of `picocms/ci-tools` to create release archives - Streamline script usage Use the following to test Pico and to create a "release" package locally: ```sh cd ~/My-Pico-Workspace/Components/pico ln -rs ../ci-tools .build/ci-tools . ./.build/ci-tools/init/local.sh.inc . ./.build/init.sh.inc phpcs --standard=.phpcs.xml "$PICO_PROJECT_DIR" clean.sh release.sh ```
This commit is contained in:
parent
7bbd8736d1
commit
58f615403e
11 changed files with 176 additions and 177 deletions
25
.build/clean.sh
Executable file
25
.build/clean.sh
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
||||||
|
|
||||||
|
# parameters
|
||||||
|
ARCHIVE_DIR="${1:-$PICO_PROJECT_DIR}" # directory to create release archives in
|
||||||
|
|
||||||
|
# print parameters
|
||||||
|
echo "Cleaning up build environment..."
|
||||||
|
printf 'PICO_DEPLOY_DIR="%s"\n' "$PICO_DEPLOY_DIR"
|
||||||
|
printf 'PICO_BUILD_DIR="%s"\n' "$PICO_BUILD_DIR"
|
||||||
|
printf 'ARCHIVE_DIR="%s"\n' "$ARCHIVE_DIR"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "Removing deployment directory..."
|
||||||
|
[ ! -d "$PICO_DEPLOY_DIR" ] || rm -rf "$PICO_DEPLOY_DIR"
|
||||||
|
|
||||||
|
echo "Removing build directory..."
|
||||||
|
[ ! -d "$PICO_BUILD_DIR" ] || rm -rf "$PICO_BUILD_DIR"
|
||||||
|
|
||||||
|
echo "Removing release archives..."
|
||||||
|
find "$ARCHIVE_DIR" -mindepth 1 -maxdepth 1 \
|
||||||
|
\( -name 'pico-release-*.tar.gz' -o -name 'pico-release-*.zip' \) \
|
||||||
|
-delete
|
|
@ -1,97 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
export PATH="$PICO_TOOLS_DIR:$PATH"
|
|
||||||
. "$PICO_TOOLS_DIR/functions/parse-version.sh.inc"
|
|
||||||
|
|
||||||
# parameters
|
|
||||||
ARCHIVE_DIR="$1" # directory to create release archives in
|
|
||||||
ARCHIVE_FILENAME="$2" # release archive file name (without file extension)
|
|
||||||
|
|
||||||
if [ -z "$ARCHIVE_DIR" ] || [ "$(realpath "$ARCHIVE_DIR")" == "$(realpath "$PICO_BUILD_DIR")" ]; then
|
|
||||||
echo "Unable to create release archives: Invalid release archive target dir '$ARCHIVE_DIR'" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -z "$ARCHIVE_FILENAME" ]; then
|
|
||||||
echo "Unable to create release archives: No release archive file name given" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# parse version
|
|
||||||
if ! parse_version "$PROJECT_REPO_TAG"; then
|
|
||||||
echo "Unable to create release archive: Invalid version '$PROJECT_REPO_TAG'" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# clone repo
|
|
||||||
github-clone.sh "$PICO_BUILD_DIR" "https://github.com/$RELEASE_REPO_SLUG.git" "$RELEASE_REPO_BRANCH"
|
|
||||||
|
|
||||||
cd "$PICO_BUILD_DIR"
|
|
||||||
|
|
||||||
# force Pico version
|
|
||||||
echo "Updating composer dependencies..."
|
|
||||||
composer require --no-update \
|
|
||||||
"picocms/pico $VERSION_FULL@$VERSION_STABILITY" \
|
|
||||||
"picocms/pico-theme $VERSION_FULL@$VERSION_STABILITY" \
|
|
||||||
"picocms/pico-deprecated $VERSION_FULL@$VERSION_STABILITY"
|
|
||||||
echo
|
|
||||||
|
|
||||||
# set minimum stability
|
|
||||||
if [ "$VERSION_STABILITY" != "stable" ]; then
|
|
||||||
echo "Setting minimum stability to '$VERSION_STABILITY'..."
|
|
||||||
composer config "minimum-stability" "$VERSION_STABILITY"
|
|
||||||
composer config "prefer-stable" "true"
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
|
|
||||||
# install dependencies
|
|
||||||
echo "Running \`composer install\`..."
|
|
||||||
composer install --no-suggest --prefer-dist --no-dev --optimize-autoloader
|
|
||||||
echo
|
|
||||||
|
|
||||||
# prepare release
|
|
||||||
echo "Replacing 'index.php'..."
|
|
||||||
cp vendor/picocms/pico/index.php.dist index.php
|
|
||||||
|
|
||||||
echo "Adding 'README.md', 'CONTRIBUTING.md', 'CHANGELOG.md'..."
|
|
||||||
cp vendor/picocms/pico/README.md README.md
|
|
||||||
cp vendor/picocms/pico/CONTRIBUTING.md CONTRIBUTING.md
|
|
||||||
cp vendor/picocms/pico/CHANGELOG.md CHANGELOG.md
|
|
||||||
|
|
||||||
echo "Preparing 'composer.json' for release..."
|
|
||||||
composer require --no-update \
|
|
||||||
"picocms/pico ^$VERSION_MILESTONE" \
|
|
||||||
"picocms/pico-theme ^$VERSION_MILESTONE" \
|
|
||||||
"picocms/pico-deprecated ^$VERSION_MILESTONE"
|
|
||||||
|
|
||||||
echo "Removing '.git' directory..."
|
|
||||||
rm -rf .git
|
|
||||||
|
|
||||||
echo "Removing '.git' directories of dependencies..."
|
|
||||||
find vendor/ -type d -path 'vendor/*/*/.git' -print0 | xargs -0 rm -rf
|
|
||||||
find themes/ -type d -path 'themes/*/.git' -print0 | xargs -0 rm -rf
|
|
||||||
find plugins/ -type d -path 'plugins/*/.git' -print0 | xargs -0 rm -rf
|
|
||||||
|
|
||||||
echo
|
|
||||||
|
|
||||||
# create release archives
|
|
||||||
echo "Creating release archive '$ARCHIVE.tar.gz'..."
|
|
||||||
|
|
||||||
if [ -e "$ARCHIVE_DIR/$ARCHIVE.tar.gz" ]; then
|
|
||||||
echo "Unable to create release archive: File '$ARCHIVE.tar.gz' exists" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
find . -mindepth 1 -maxdepth 1 -printf '%f\0' \
|
|
||||||
| xargs -0 -- tar -czf "$ARCHIVE_DIR/$ARCHIVE.tar.gz" --
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo "Creating release archive '$ARCHIVE.zip'..."
|
|
||||||
|
|
||||||
if [ -e "$ARCHIVE_DIR/$ARCHIVE.zip" ]; then
|
|
||||||
echo "Unable to create release archive: File '$ARCHIVE.zip' exists" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
zip -q -r "$ARCHIVE_DIR/$ARCHIVE.zip" .
|
|
||||||
echo
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
export PATH="$PICO_TOOLS_DIR:$PATH"
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
||||||
|
|
||||||
# get current Pico milestone
|
# get current Pico milestone
|
||||||
VERSION="$(php -r "require_once('$PICO_PROJECT_DIR/lib/Pico.php'); echo Pico::VERSION;")"
|
VERSION="$(php -r "require_once('$PICO_PROJECT_DIR/lib/Pico.php'); echo Pico::VERSION;")"
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
||||||
|
|
||||||
DEPLOY_FULL="true"
|
DEPLOY_FULL="true"
|
||||||
if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ]; then
|
if [ "$DEPLOY_PHPDOC_RELEASES" != "true" ]; then
|
||||||
echo "Skipping phpDoc release deployment because it has been disabled"
|
echo "Skipping phpDoc release deployment because it has been disabled"
|
||||||
|
@ -31,10 +33,9 @@ if [ "$DEPLOY_FULL" != "true" ]; then
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export PATH="$PICO_TOOLS_DIR:$PATH"
|
# parse version
|
||||||
. "$PICO_TOOLS_DIR/functions/parse-version.sh.inc"
|
. "$PICO_TOOLS_DIR/functions/parse-version.sh.inc"
|
||||||
|
|
||||||
# parse version
|
|
||||||
if ! parse_version "$PROJECT_REPO_TAG"; then
|
if ! parse_version "$PROJECT_REPO_TAG"; then
|
||||||
echo "Invalid version '$PROJECT_REPO_TAG'; aborting..." >&2
|
echo "Invalid version '$PROJECT_REPO_TAG'; aborting..." >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
if [ -n "$PROJECT_REPO_TAG" ]; then
|
|
||||||
exec "$(dirname "$0")/deploy-release.sh"
|
|
||||||
else
|
|
||||||
exec "$(dirname "$0")/deploy-branch.sh"
|
|
||||||
fi
|
|
19
.build/init.sh.inc
Normal file
19
.build/init.sh.inc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
if [ -z "$PICO_BUILD_ENV" ]; then
|
||||||
|
echo "No Pico build environment specified" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add project build dir to $PATH
|
||||||
|
export PATH="$PICO_PROJECT_DIR/.build:$PATH"
|
||||||
|
|
||||||
|
# set environment variables
|
||||||
|
__picocms_cmd export RELEASE_REPO_SLUG="${RELEASE_REPO_SLUG:-picocms/pico-composer}"
|
||||||
|
__picocms_cmd export RELEASE_REPO_BRANCH="${RELEASE_REPO_BRANCH:-master}"
|
||||||
|
|
||||||
|
if [ "$PROJECT_REPO_SLUG" != "picocms/Pico" ]; then
|
||||||
|
__picocms_cmd export DEPLOY_REPO_SLUG="${DEPLOY_REPO_SLUG:-$PROJECT_REPO_SLUG}"
|
||||||
|
__picocms_cmd export DEPLOY_REPO_BRANCH="${DEPLOY_REPO_BRANCH:-gh-pages}"
|
||||||
|
else
|
||||||
|
__picocms_cmd export DEPLOY_REPO_SLUG="${DEPLOY_REPO_SLUG:-picocms.github.io}"
|
||||||
|
__picocms_cmd export DEPLOY_REPO_BRANCH="${DEPLOY_REPO_BRANCH:-master}"
|
||||||
|
fi
|
|
@ -1,55 +1,17 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
||||||
|
|
||||||
# setup build system
|
# setup build system
|
||||||
echo "Installing build dependencies..."
|
BUILD_REQUIREMENTS=( --phpcs )
|
||||||
echo
|
[ "$1" != "--deploy" ] || BUILD_REQUIREMENTS+=( --cloc --phpdoc )
|
||||||
|
"$PICO_TOOLS_DIR/setup/$PICO_BUILD_ENV.sh" "${BUILD_REQUIREMENTS[@]}"
|
||||||
case "$1" in
|
|
||||||
"--deploy")
|
|
||||||
echo "Synchronizing package index files..."
|
|
||||||
sudo apt-get update
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo "Installing cloc..."
|
|
||||||
sudo apt-get install -y cloc
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo "Installing phpDocumentor..."
|
|
||||||
curl --location --output "$PICO_TOOLS_DIR/phpdoc" \
|
|
||||||
"https://github.com/phpDocumentor/phpDocumentor2/releases/latest/download/phpDocumentor.phar"
|
|
||||||
chmod +x "$PICO_TOOLS_DIR/phpdoc"
|
|
||||||
echo
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "Installing PHP_CodeSniffer..."
|
|
||||||
if [ "$(php -r 'echo PHP_VERSION_ID;')" -ge 50400 ]; then
|
|
||||||
PHPCS_DOWNLOAD="https://github.com/squizlabs/PHP_CodeSniffer/releases/latest/download/"
|
|
||||||
else
|
|
||||||
PHPCS_DOWNLOAD="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.2/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
curl --location --output "$PICO_TOOLS_DIR/phpcs" \
|
|
||||||
"$PHPCS_DOWNLOAD/phpcs.phar"
|
|
||||||
chmod +x "$PICO_TOOLS_DIR/phpcs"
|
|
||||||
|
|
||||||
curl --location --output "$PICO_TOOLS_DIR/phpcbf" \
|
|
||||||
"$PHPCS_DOWNLOAD/phpcbf.phar"
|
|
||||||
chmod +x "$PICO_TOOLS_DIR/phpcbf"
|
|
||||||
|
|
||||||
echo
|
|
||||||
|
|
||||||
# setup composer
|
|
||||||
echo "Setup Composer..."
|
|
||||||
|
|
||||||
# let composer use our GITHUB_OAUTH_TOKEN
|
|
||||||
if [ -n "$GITHUB_OAUTH_TOKEN" ]; then
|
|
||||||
composer config --global github-oauth.github.com "$GITHUB_OAUTH_TOKEN"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# set COMPOSER_ROOT_VERSION when necessary
|
# set COMPOSER_ROOT_VERSION when necessary
|
||||||
if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -n "$PROJECT_REPO_BRANCH" ]; then
|
if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -n "$PROJECT_REPO_BRANCH" ]; then
|
||||||
|
echo "Setting up Composer..."
|
||||||
|
|
||||||
PICO_VERSION_PATTERN="$(php -r "
|
PICO_VERSION_PATTERN="$(php -r "
|
||||||
\$json = json_decode(file_get_contents('$PICO_PROJECT_DIR/composer.json'), true);
|
\$json = json_decode(file_get_contents('$PICO_PROJECT_DIR/composer.json'), true);
|
||||||
if (\$json !== null) {
|
if (\$json !== null) {
|
||||||
|
@ -69,9 +31,9 @@ if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -n "$PROJECT_REPO_BRANCH" ]; then
|
||||||
if [ -n "$PICO_VERSION_PATTERN" ]; then
|
if [ -n "$PICO_VERSION_PATTERN" ]; then
|
||||||
export COMPOSER_ROOT_VERSION="$PICO_VERSION_PATTERN"
|
export COMPOSER_ROOT_VERSION="$PICO_VERSION_PATTERN"
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
# 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)")..."
|
||||||
|
|
86
.build/release.sh
Executable file
86
.build/release.sh
Executable file
|
@ -0,0 +1,86 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
||||||
|
|
||||||
|
# parameters
|
||||||
|
VERSION="${1:-$PROJECT_REPO_TAG}" # version to create a release for
|
||||||
|
ARCHIVE_DIR="${2:-$PICO_PROJECT_DIR}" # directory to create release archives in
|
||||||
|
|
||||||
|
# print parameters
|
||||||
|
echo "Creating new release..."
|
||||||
|
printf 'VERSION="%s"\n' "$VERSION"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# guess version string
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
PICO_VERSION="$(php -r "
|
||||||
|
require_once('$PICO_PROJECT_DIR/lib/Pico.php');
|
||||||
|
echo preg_replace('/-(?:dev|n|nightly)(?:[.-]?[0-9]+)?(?:[.-]dev)?$/', '', Pico::VERSION);
|
||||||
|
")"
|
||||||
|
|
||||||
|
VERSION="v$PICO_VERSION-dev+${PROJECT_REPO_BRANCH:-master}"
|
||||||
|
echo "Creating development release of Pico v$PICO_VERSION ($VERSION)..."
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
# parse version
|
||||||
|
. "$PICO_TOOLS_DIR/functions/parse-version.sh.inc"
|
||||||
|
|
||||||
|
if ! parse_version "$VERSION"; then
|
||||||
|
echo "Unable to create release archive: Invalid version '$VERSION'" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DEPENDENCY_VERSION="$VERSION_FULL@$VERSION_STABILITY"
|
||||||
|
if [ "$VERSION_STABILITY" == "dev" ] && [ -n "$VERSION_BUILD" ]; then
|
||||||
|
DEPENDENCY_VERSION="dev-$VERSION_BUILD"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# clone repo
|
||||||
|
github-clone.sh "$PICO_BUILD_DIR" "https://github.com/$RELEASE_REPO_SLUG.git" "$RELEASE_REPO_BRANCH"
|
||||||
|
|
||||||
|
cd "$PICO_BUILD_DIR"
|
||||||
|
|
||||||
|
# force Pico version
|
||||||
|
echo "Updating composer dependencies..."
|
||||||
|
composer require --no-update \
|
||||||
|
"picocms/pico $DEPENDENCY_VERSION" \
|
||||||
|
"picocms/pico-theme $DEPENDENCY_VERSION" \
|
||||||
|
"picocms/pico-deprecated $DEPENDENCY_VERSION"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# set minimum stability
|
||||||
|
if [ "$VERSION_STABILITY" != "stable" ]; then
|
||||||
|
echo "Setting minimum stability to '$VERSION_STABILITY'..."
|
||||||
|
composer config "minimum-stability" "$VERSION_STABILITY"
|
||||||
|
composer config "prefer-stable" "true"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install dependencies
|
||||||
|
echo "Running \`composer install\`..."
|
||||||
|
composer install --no-suggest --prefer-dist --no-dev --optimize-autoloader
|
||||||
|
echo
|
||||||
|
|
||||||
|
# prepare release
|
||||||
|
echo "Replacing 'index.php'..."
|
||||||
|
cp vendor/picocms/pico/index.php.dist index.php
|
||||||
|
|
||||||
|
echo "Adding 'README.md', 'CONTRIBUTING.md', 'CHANGELOG.md'..."
|
||||||
|
cp vendor/picocms/pico/README.md README.md
|
||||||
|
cp vendor/picocms/pico/CONTRIBUTING.md CONTRIBUTING.md
|
||||||
|
cp vendor/picocms/pico/CHANGELOG.md CHANGELOG.md
|
||||||
|
|
||||||
|
echo "Removing '.git' directories of plugins and themes..."
|
||||||
|
find themes/ -type d -path 'themes/*/.git' -print0 | xargs -0 rm -rf
|
||||||
|
find plugins/ -type d -path 'plugins/*/.git' -print0 | xargs -0 rm -rf
|
||||||
|
|
||||||
|
echo "Preparing 'composer.json' for release..."
|
||||||
|
composer require --no-update \
|
||||||
|
"picocms/pico ^$VERSION_MILESTONE" \
|
||||||
|
"picocms/pico-theme ^$VERSION_MILESTONE" \
|
||||||
|
"picocms/pico-deprecated ^$VERSION_MILESTONE"
|
||||||
|
|
||||||
|
# create release archives
|
||||||
|
create-release.sh "$PICO_BUILD_DIR" "$ARCHIVE_DIR" "pico-release-v$VERSION_FULL"
|
2
.gitattributes
vendored
2
.gitattributes
vendored
|
@ -1,5 +1,5 @@
|
||||||
/.github export-ignore
|
|
||||||
/.build export-ignore
|
/.build export-ignore
|
||||||
|
/.github export-ignore
|
||||||
/assets/.gitignore export-ignore
|
/assets/.gitignore export-ignore
|
||||||
/config/.gitignore export-ignore
|
/config/.gitignore export-ignore
|
||||||
/content/.gitignore export-ignore
|
/content/.gitignore export-ignore
|
||||||
|
|
11
.gitignore
vendored
11
.gitignore
vendored
|
@ -10,12 +10,17 @@ desktop.ini
|
||||||
.DS_Store
|
.DS_Store
|
||||||
._*
|
._*
|
||||||
|
|
||||||
# composer
|
# Composer
|
||||||
/composer.lock
|
/composer.lock
|
||||||
/composer.phar
|
|
||||||
/vendor
|
/vendor
|
||||||
|
|
||||||
|
# Build system
|
||||||
|
/.build/build
|
||||||
|
/.build/deploy
|
||||||
|
/.build/ci-tools
|
||||||
|
/pico-release-*.tar.gz
|
||||||
|
/pico-release-*.zip
|
||||||
|
|
||||||
# phpDocumentor
|
# phpDocumentor
|
||||||
/.build/phpdoc
|
/.build/phpdoc
|
||||||
/.build/phpdoc.cache
|
/.build/phpdoc.cache
|
||||||
/phpDocumentor.phar
|
|
||||||
|
|
44
.travis.yml
44
.travis.yml
|
@ -23,48 +23,52 @@ jobs:
|
||||||
- php: hhvm-3.27 # until Sep 2019
|
- php: hhvm-3.27 # until Sep 2019
|
||||||
- php: hhvm-3.30 # until Nov 2019
|
- php: hhvm-3.30 # until Nov 2019
|
||||||
|
|
||||||
# Deployment stage
|
# Branch deployment stage
|
||||||
- stage: deploy
|
- stage: deploy-branch
|
||||||
php: 5.3
|
if: type == "push" && tag IS blank
|
||||||
dist: precise
|
php: 5.6
|
||||||
sudo: required
|
sudo: required
|
||||||
install:
|
install:
|
||||||
- '[ "$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 --deploy
|
- install.sh --deploy
|
||||||
script:
|
script:
|
||||||
- deploy.sh
|
- deploy-branch.sh
|
||||||
|
|
||||||
|
# Release deployment stage
|
||||||
|
- stage: deploy-release
|
||||||
|
if: tag IS present
|
||||||
|
php: 5.3
|
||||||
|
dist: precise
|
||||||
|
install:
|
||||||
|
- install.sh --deploy
|
||||||
|
script:
|
||||||
|
- '[ "$PROJECT_REPO_TAG" == "v$(php -r "require_once(\"lib/Pico.php\"); echo Pico::VERSION;")" ]'
|
||||||
|
- deploy-release.sh
|
||||||
before_deploy:
|
before_deploy:
|
||||||
- '[ "$TRAVIS_TAG" == "v$(php -r "require_once(\"lib/Pico.php\"); echo Pico::VERSION;")" ]'
|
- release.sh
|
||||||
- create-release.sh "$TRAVIS_BUILD_DIR" "pico-release-$TRAVIS_TAG"
|
|
||||||
deploy:
|
deploy:
|
||||||
provider: releases
|
provider: releases
|
||||||
api_key: ${GITHUB_OAUTH_TOKEN}
|
api_key: ${GITHUB_OAUTH_TOKEN}
|
||||||
file:
|
file:
|
||||||
- pico-release-$TRAVIS_TAG.tar.gz
|
- pico-release-$PROJECT_REPO_TAG.tar.gz
|
||||||
- pico-release-$TRAVIS_TAG.zip
|
- pico-release-$PROJECT_REPO_TAG.zip
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
name: Version ${TRAVIS_TAG:1}
|
name: Version ${PROJECT_REPO_TAG:1}
|
||||||
draft: true
|
draft: true
|
||||||
on:
|
|
||||||
tags: true
|
|
||||||
|
|
||||||
# Ignore nightly build failures
|
# Ignore nightly build failures
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- php: nightly
|
- php: nightly
|
||||||
fast-finish: true
|
fast_finish: true
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- export PATH="$TRAVIS_BUILD_DIR/.build:$PATH"
|
|
||||||
- export PICO_TOOLS_DIR="$HOME/__picocms_tools"
|
- export PICO_TOOLS_DIR="$HOME/__picocms_tools"
|
||||||
- git clone --branch="$TOOLS_REPO_BRANCH" "https://github.com/$TOOLS_REPO_SLUG.git" "$PICO_TOOLS_DIR"
|
- git clone --branch="$TOOLS_REPO_BRANCH" "https://github.com/$TOOLS_REPO_SLUG.git" "$PICO_TOOLS_DIR"
|
||||||
- . "$PICO_TOOLS_DIR/init/travis.sh.inc"
|
- . "$PICO_TOOLS_DIR/init/travis.sh.inc"
|
||||||
|
- . "$PICO_PROJECT_DIR/.build/init.sh.inc"
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- install.sh
|
- install.sh
|
||||||
|
|
||||||
before_script:
|
|
||||||
- export PATH="$TRAVIS_BUILD_DIR/vendor/bin:$PATH"
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- phpcs --standard=.phpcs.xml "$TRAVIS_BUILD_DIR"
|
- phpcs --standard=.phpcs.xml "$PICO_PROJECT_DIR"
|
||||||
|
|
Loading…
Reference in a new issue