diff --git a/.travis.yml b/.travis.yml index fd14373..7fdc791 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,11 +21,14 @@ matrix: notifications: irc: "chat.freenode.net#picocms" +before_install: + - export PATH="$TRAVIS_BUILD_DIR/_build:$PATH" + install: - - composer install + - install.sh before_script: - - export PATH="$TRAVIS_BUILD_DIR/_build:$TRAVIS_BUILD_DIR/vendor/bin:$PATH" + - export PATH="$TRAVIS_BUILD_DIR/vendor/bin:$PATH" script: - phpcs --standard=.phpcs.xml "$TRAVIS_BUILD_DIR" diff --git a/_build/install.sh b/_build/install.sh new file mode 100755 index 0000000..b40f7e8 --- /dev/null +++ b/_build/install.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -e + +# set COMPOSER_ROOT_VERSION when necessary +if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then + PICO_VERSION_PATTERN="$(php -r " + \$json = json_decode(file_get_contents('$TRAVIS_BUILD_DIR/composer.json'), true); + if (\$json !== null) { + if (isset(\$json['extra']['branch-alias']['dev-$TRAVIS_BRANCH'])) { + echo 'dev-$TRAVIS_BRANCH'; + } + } + ")" + + if [ -z "$PICO_VERSION_PATTERN" ]; then + PICO_VERSION_PATTERN="$(php -r " + require_once('$TRAVIS_BUILD_DIR/lib/Pico.php'); + echo preg_replace('/\.[0-9]+-dev$/', '.x-dev', Pico::VERSION); + ")" + fi + + if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -n "$PICO_VERSION_PATTERN" ]; then + export COMPOSER_ROOT_VERSION="$PICO_VERSION_PATTERN" + fi +fi + +# install dependencies +echo "Running \`composer install\`$([ -n "$COMPOSER_ROOT_VERSION" ] && echo -n " ($COMPOSER_ROOT_VERSION)")..." +composer install