diff options
-rw-r--r-- | .github/workflows/test-phpunit.yml | 106 | ||||
-rw-r--r-- | .travis.yml | 112 | ||||
-rw-r--r-- | composer.json | 6 |
3 files changed, 118 insertions, 106 deletions
diff --git a/.github/workflows/test-phpunit.yml b/.github/workflows/test-phpunit.yml deleted file mode 100644 index bba336ce7..000000000 --- a/.github/workflows/test-phpunit.yml +++ /dev/null @@ -1,106 +0,0 @@ -name: PHPUnit - -on: [push, pull_request] - -jobs: - tests: - runs-on: ubuntu-18.04 - if: "!contains(github.event.head_commit.message, '[ci skip]')" - env: - PHP_INI_VALUES: assert.exception=1, zend.assertions=1 - - strategy: - fail-fast: false - matrix: - php: [ '8.0', '7.4', '7.3', '7.2', '7.1', '7.0', '5.6', '5.5', '5.4' ] - DB: [ 'pdo/mysql', 'pdo/pgsql', 'pdo/sqlite', 'mysqli', 'pgsql', 'sqlite' ] - compiler: [ default ] - include: - - php: '8.0' - DB: 'pdo/mysql' - compiler: jit - - php: '8.0' - DB: 'pdo/pgsql' - compiler: jit - - php: '8.0' - DB: 'pdo/sqlite' - compiler: jit - - php: '8.0' - DB: 'mysqli' - compiler: jit - - php: '8.0' - DB: 'pgsql' - compiler: jit - - php: '8.0' - DB: 'sqlite' - compiler: jit - - php: '5.6' - DB: 'mysql' - compiler: default - - php: '5.5' - DB: 'mysql' - compiler: default - - php: '5.4' - DB: 'mysql' - compiler: default - - services: - postgres: - image: postgres:12 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_DB: ci_test - ports: - - 5432:5432 - options: --health-cmd=pg_isready --health-interval=10s --health-timeout=5s --health-retries=3 - - mysql: - image: mysql:5.7 - env: - MYSQL_ALLOW_EMPTY_PASSWORD: true - MYSQL_USER: travis - MYSQL_PASSWORD: travis - MYSQL_DATABASE: ci_test - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Override PHP ini values for JIT compiler - if: matrix.compiler == 'jit' - run: echo "PHP_INI_VALUES::assert.exception=1, zend.assertions=1, opcache.enable=1, opcache.enable_cli=1, opcache.optimization_level=-1, opcache.jit=1255, opcache.jit_buffer_size=64M" >> $GITHUB_ENV - - - name: Install PHP${{ matrix.php }} - DB ${{ matrix.DB }} - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: composer, pecl - extensions: imagick, sqlite3, pgsql, mysqli, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite - ini-values: ${{ env.PHP_INI_VALUES }} - coverage: xdebug - - - name: Setup composer for PHP8.0+ - run: if [ '${{ matrix.php }}' = '8.0' ] || [ '${{ matrix.php }}' = '8.1' ] ; then sed -i 's/phpunit\/phpunit/sminnee\/phpunit/g' composer.json; composer config -g platform.php 7.4.11; fi - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache composer dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - name: Install composer dependencies - run: composer install --no-progress --prefer-dist --optimize-autoloader - - - name: Fix error in vfsStream - run: sed -i s/name{0}/name[0]/ vendor/mikey179/vfsstream/src/main/php/org/bovigo/vfs/vfsStream.php - - - name: PHPUnit Test - run: | - php -d zend.enable_gc=0 -d date.timezone=UTC -d mbstring.func_overload=7 -d mbstring.internal_encoding=UTF-8 vendor/bin/phpunit --coverage-text --configuration tests/travis/${{ matrix.DB }}.phpunit.xml - env: - XDEBUG_MODE: coverage diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..bf86bace1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,112 @@ +language: php +os: linux +dist: xenial + +php: + - 5.6 + - 7.0 + - 7.1 + - 7.2 + - 7.3 + - 7.4 + - nightly + +env: + global: + - XDEBUG_MODE=coverage + jobs: + - DB=mysqli + - DB=pgsql + - DB=sqlite + - DB=pdo/mysql + - DB=pdo/pgsql + - DB=pdo/sqlite + +services: + - mysql + - postgresql + +cache: + directories: + - $HOME/.composer/cache + +before_script: + - sh -c "composer install --no-progress" + - sh -c "if [ '$DB' = 'pgsql' ] || [ '$DB' = 'pdo/pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS ci_test;' -U postgres; fi" + - sh -c "if [ '$DB' = 'pgsql' ] || [ '$DB' = 'pdo/pgsql' ]; then psql -c 'create database ci_test;' -U postgres; fi" + - sh -c "if [ '$DB' = 'mysql' ] || [ '$DB' = 'mysqli' ] || [ '$DB' = 'pdo/mysql' ]; then mysql -e 'create database IF NOT EXISTS ci_test;'; fi" + +script: test $(php -r 'echo PHP_VERSION_ID;') -lt 70300 && php -d zend.enable_gc=0 -d date.timezone=UTC -d mbstring.func_overload=7 -d mbstring.internal_encoding=UTF-8 vendor/bin/phpunit --coverage-text --configuration tests/travis/$DB.phpunit.xml || php -d zend.enable_gc=0 -d date.timezone=UTC -d mbstring.internal_encoding=UTF-8 vendor/bin/phpunit --coverage-text --configuration tests/travis/$DB.phpunit.xml + +jobs: + allow_failures: + - php: nightly + - php: hhvm-3.30 + include: + - php: 5.4 + dist: trusty + env: DB=mysql + - php: 5.4 + dist: trusty + env: DB=mysqli + - php: 5.4 + dist: trusty + env: DB=pgsql + - php: 5.4 + dist: trusty + env: DB=sqlite + - php: 5.4 + dist: trusty + env: DB=pdo/mysql + - php: 5.4 + dist: trusty + env: DB=pdo/pgsql + - php: 5.4 + dist: trusty + env: DB=pdo/sqlite + - php: 5.5 + dist: trusty + env: DB=mysql + - php: 5.5 + dist: trusty + env: DB=mysqli + - php: 5.5 + dist: trusty + env: DB=pgsql + - php: 5.5 + dist: trusty + env: DB=sqlite + - php: 5.5 + dist: trusty + env: DB=pdo/mysql + - php: 5.5 + dist: trusty + env: DB=pdo/pgsql + - php: 5.5 + dist: trusty + env: DB=pdo/sqlite + - php: 5.6 + dist: xenial + env: DB=mysql + - php: hhvm-3.30 + dist: trusty + env: DB=mysql + - php: hhvm-3.30 + dist: trusty + env: DB=mysqli + - php: hhvm-3.30 + dist: trusty + env: DB=sqlite + - php: hhvm-3.30 + dist: trusty + env: DB=pdo/mysql + - php: hhvm-3.30 + dist: trusty + env: DB=pdo/sqlite + +branches: + only: + - develop + - 3.0-stable + - 3.1-stable + - /^feature\/.+$/ diff --git a/composer.json b/composer.json index 722c9b7d9..3f423e17a 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,12 @@ "suggest": { "paragonie/random_compat": "Provides better randomness in PHP 5.x" }, + "scripts": { + "test:coverage": [ + "@putenv XDEBUG_MODE=coverage", + "phpunit --color=always --coverage-text --configuration tests/travis/sqlite.phpunit.xml" + ] + }, "require-dev": { "mikey179/vfsstream": "1.6.*", "phpunit/phpunit": "4.* || 5.* || 9.*" |