From 880d17d68e3940b8f0fa5d210a7eef2cbc46e2d1 Mon Sep 17 00:00:00 2001 From: Sergei Morozov Date: Mon, 30 Apr 2018 11:02:57 -0700 Subject: [PATCH] Introduced a smoke testing phase on Travis to run SQLite tests and CS checks first --- .travis.yml | 128 +++++++++++++++++++++++++++------------------------- 1 file changed, 67 insertions(+), 61 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5dc8cc7983..026c3d762ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,10 +50,15 @@ after_script: php ocular.phar code-coverage:upload --format=php-clover clover.xml fi +stages: + - smoke testing + - test + - coding standard + jobs: allow_failures: - php: nightly - - stage: Coding standard + - stage: coding standard exclude: - php: 7.1 @@ -64,135 +69,148 @@ jobs: env: DB=mysqli include: - - stage: Test + - stage: smoke testing php: 7.1 env: DB=sqlite COVERAGE=yes - - stage: Test + - stage: smoke testing + if: type = pull_request php: 7.1 + install: travis_retry composer install --prefer-dist + script: + - | + if [ $TRAVIS_BRANCH != "master" ]; then + git remote set-branches --add origin $TRAVIS_BRANCH; + git fetch origin $TRAVIS_BRANCH; + fi + - git merge-base origin/$TRAVIS_BRANCH $TRAVIS_PULL_REQUEST_SHA || git fetch origin +refs/pull/$TRAVIS_PULL_REQUEST/merge --unshallow + - wget https://github.com/diff-sniffer/git/releases/download/0.1.0/git-phpcs.phar + - php git-phpcs.phar origin/$TRAVIS_BRANCH...$TRAVIS_PULL_REQUEST_SHA + + - php: 7.1 env: DB=mysql COVERAGE=yes - - stage: Test + - stage: test php: 7.1 env: DB=mysqli COVERAGE=yes - - stage: Test + - stage: test php: 7.1 env: DB=mysql MYSQL_VERSION=5.7 COVERAGE=yes sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh - - stage: Test + - stage: test php: 7.2 env: DB=mysql MYSQL_VERSION=5.7 sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh - - stage: Test + - stage: test php: nightly env: DB=mysql MYSQL_VERSION=5.7 sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh - - stage: Test + - stage: test php: 7.1 env: DB=mysqli MYSQL_VERSION=5.7 COVERAGE=yes sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh - - stage: Test + - stage: test php: 7.2 env: DB=mysqli MYSQL_VERSION=5.7 sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh - - stage: Test + - stage: test php: nightly env: DB=mysqli MYSQL_VERSION=5.7 sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh - - stage: Test + - stage: test php: 7.1 env: DB=mariadb MARIADB_VERSION=10.0 COVERAGE=yes addons: mariadb: 10.0 - - stage: Test + - stage: test php: 7.2 env: DB=mariadb MARIADB_VERSION=10.0 addons: mariadb: 10.0 - - stage: Test + - stage: test php: nightly env: DB=mariadb MARIADB_VERSION=10.0 addons: mariadb: 10.0 - - stage: Test + - stage: test php: 7.1 env: DB=mariadb MARIADB_VERSION=10.1 COVERAGE=yes addons: mariadb: 10.1 - - stage: Test + - stage: test php: 7.2 env: DB=mariadb MARIADB_VERSION=10.1 addons: mariadb: 10.1 - - stage: Test + - stage: test php: nightly env: DB=mariadb MARIADB_VERSION=10.1 addons: mariadb: 10.1 - - stage: Test + - stage: test php: 7.1 env: DB=mariadb MARIADB_VERSION=10.2 COVERAGE=yes addons: mariadb: 10.2 - - stage: Test + - stage: test php: 7.2 env: DB=mariadb MARIADB_VERSION=10.2 addons: mariadb: 10.2 - - stage: Test + - stage: test php: nightly env: DB=mariadb MARIADB_VERSION=10.2 addons: mariadb: 10.2 - - stage: Test + - stage: test php: 7.1 env: DB=mariadb.mysqli MARIADB_VERSION=10.2 COVERAGE=yes addons: mariadb: 10.2 - - stage: Test + - stage: test php: 7.2 env: DB=mariadb.mysqli MARIADB_VERSION=10.2 addons: mariadb: 10.2 - - stage: Test + - stage: test php: nightly env: DB=mariadb.mysqli MARIADB_VERSION=10.2 addons: mariadb: 10.2 - - stage: Test + - stage: test php: 7.1 env: DB=pgsql POSTGRESQL_VERSION=9.2 COVERAGE=yes services: - postgresql addons: postgresql: "9.2" - - stage: Test + - stage: test php: 7.2 env: DB=pgsql POSTGRESQL_VERSION=9.2 services: - postgresql addons: postgresql: "9.2" - - stage: Test + - stage: test php: nightly env: DB=pgsql POSTGRESQL_VERSION=9.2 services: @@ -200,21 +218,21 @@ jobs: addons: postgresql: "9.2" - - stage: Test + - stage: test php: 7.1 env: DB=pgsql POSTGRESQL_VERSION=9.3 COVERAGE=yes services: - postgresql addons: postgresql: "9.3" - - stage: Test + - stage: test php: 7.2 env: DB=pgsql POSTGRESQL_VERSION=9.3 services: - postgresql addons: postgresql: "9.3" - - stage: Test + - stage: test php: nightly env: DB=pgsql POSTGRESQL_VERSION=9.3 services: @@ -222,21 +240,21 @@ jobs: addons: postgresql: "9.3" - - stage: Test + - stage: test php: 7.1 env: DB=pgsql POSTGRESQL_VERSION=9.4 COVERAGE=yes services: - postgresql addons: postgresql: "9.4" - - stage: Test + - stage: test php: 7.2 env: DB=pgsql POSTGRESQL_VERSION=9.4 services: - postgresql addons: postgresql: "9.4" - - stage: Test + - stage: test php: nightly env: DB=pgsql POSTGRESQL_VERSION=9.4 services: @@ -244,21 +262,21 @@ jobs: addons: postgresql: "9.4" - - stage: Test + - stage: test php: 7.1 env: DB=pgsql POSTGRESQL_VERSION=9.5 COVERAGE=yes services: - postgresql addons: postgresql: "9.5" - - stage: Test + - stage: test php: 7.2 env: DB=pgsql POSTGRESQL_VERSION=9.5 services: - postgresql addons: postgresql: "9.5" - - stage: Test + - stage: test php: nightly env: DB=pgsql POSTGRESQL_VERSION=9.5 services: @@ -266,21 +284,21 @@ jobs: addons: postgresql: "9.5" - - stage: Test + - stage: test php: 7.1 env: DB=pgsql POSTGRESQL_VERSION=9.6 COVERAGE=yes services: - postgresql addons: postgresql: "9.6" - - stage: Test + - stage: test php: 7.2 env: DB=pgsql POSTGRESQL_VERSION=9.6 services: - postgresql addons: postgresql: "9.6" - - stage: Test + - stage: test php: nightly env: DB=pgsql POSTGRESQL_VERSION=9.6 services: @@ -288,7 +306,7 @@ jobs: addons: postgresql: "9.6" - - stage: Test + - stage: test php: 7.1 env: DB=pgsql POSTGRESQL_VERSION=10.0 COVERAGE=yes sudo: required @@ -298,7 +316,7 @@ jobs: postgresql: "9.6" before_script: - bash ./tests/travis/install-postgres-10.sh - - stage: Test + - stage: test php: 7.2 env: DB=pgsql POSTGRESQL_VERSION=10.0 sudo: required @@ -308,7 +326,7 @@ jobs: postgresql: "9.6" before_script: - bash ./tests/travis/install-postgres-10.sh - - stage: Test + - stage: test php: nightly env: DB=pgsql POSTGRESQL_VERSION=10.0 sudo: required @@ -319,7 +337,7 @@ jobs: before_script: - bash ./tests/travis/install-postgres-10.sh - - stage: Test + - stage: test env: DB=sqlsrv COVERAGE=yes sudo: required services: @@ -327,7 +345,8 @@ jobs: before_script: - bash ./tests/travis/install-mssql-$DB.sh - bash ./tests/travis/install-mssql.sh - - stage: Test + + - stage: test php: 7.2 env: DB=sqlsrv sudo: required @@ -337,7 +356,7 @@ jobs: - bash ./tests/travis/install-mssql-$DB.sh - bash ./tests/travis/install-mssql.sh - - stage: Test + - stage: test php: 7.1 env: DB=pdo_sqlsrv COVERAGE=yes sudo: required @@ -346,7 +365,8 @@ jobs: before_script: - bash ./tests/travis/install-mssql-$DB.sh - bash ./tests/travis/install-mssql.sh - - stage: Test + + - stage: test php: 7.2 env: DB=pdo_sqlsrv sudo: required @@ -356,13 +376,13 @@ jobs: - bash ./tests/travis/install-mssql-$DB.sh - bash ./tests/travis/install-mssql.sh - - stage: Test + - stage: test php: 7.1 env: DB=sqlite DEPENDENCIES=low install: - travis_retry composer update --prefer-dist --prefer-lowest - - stage: Test + - stage: test if: type = cron php: 7.2 env: DB=sqlite DEPENDENCIES=dev @@ -370,21 +390,7 @@ jobs: - composer config minimum-stability dev - travis_retry composer update --prefer-dist - - stage: Pull request coding standard - if: type = pull_request - php: 7.1 - install: travis_retry composer install --prefer-dist - script: - - | - if [ $TRAVIS_BRANCH != "master" ]; then - git remote set-branches --add origin $TRAVIS_BRANCH; - git fetch origin $TRAVIS_BRANCH; - fi - - git merge-base origin/$TRAVIS_BRANCH $TRAVIS_PULL_REQUEST_SHA || git fetch origin +refs/pull/$TRAVIS_PULL_REQUEST/merge --unshallow - - wget https://github.com/diff-sniffer/git/releases/download/0.1.0/git-phpcs.phar - - php git-phpcs.phar origin/$TRAVIS_BRANCH...$TRAVIS_PULL_REQUEST_SHA - - - stage: Coding standard + - stage: coding standard if: NOT type = pull_request php: 7.1 install: travis_retry composer install --prefer-dist