appveyor.yml
build: false
platform:
- x64
clone_folder: c:\projects\php-project-workspace
## Build matrix for lowest and highest possible targets
environment:
matrix:
- php_ver_target: 7.3
MYSQL_DATABASE: ez_test
MYSQL_HOST: localhost
MYSQL_USER: root
MYSQL_PASSWORD: Password12!
MYSQL_PATH: C:\Program Files\MySQL\MySQL Server 5.7
services:
- mysql
## Set up environment variables
init:
- SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH%
- SET COMPOSER_NO_INTERACTION=1
- SET PHP=1 # This var is connected to PHP install cache
- SET ANSICON=121x90 (121x90)
## Install PHP and composer, and run the appropriate composer command Get the MSSQL DLL's and XDEBUG
install:
- IF EXIST c:\tools\php (SET PHP=0)
- ps: >-
appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
- appveyor-retry cinst -y sqlite
- cd c:\tools\php
- IF %PHP%==1 copy php.ini-production php.ini /Y
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini
- IF %PHP%==1 echo extension_dir=ext >> php.ini
- IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
- IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
- IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
- IF %PHP%==1 echo extension=php_sqlite3.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_sqlite.dll >> php.ini
- IF %PHP%==1 echo extension=php_mysqli.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_mysql.dll >> php.ini
- IF %PHP%==1 appveyor-retry appveyor DownloadFile https://xdebug.org/files/php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll -FileName c:\tools\php\ext\php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll
- IF %PHP%==1 echo [xdebug] >> php.ini
- IF %PHP%==1 echo zend_extension=php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll >> php.ini
- IF %PHP%==1 echo zend.assertions=1 >> php.ini
- IF %PHP%==1 echo assert.exception=On >> php.ini
- IF %PHP%==1 echo xdebug.remote_enable=1 >> php.ini
- IF %PHP%==1 echo xdebug.remote_autostart=1 >> php.ini
- IF %PHP%==1 echo xdebug.profiler_enable=off >> php.ini
- IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
- appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar
- cd c:\projects\php-project-workspace
- composer self-update
- composer require php-coveralls/php-coveralls
before_test:
- SET PATH=%MYSQL_PATH%\bin;%PATH%
- mysqladmin --host=%MYSQL_HOST% --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% create %MYSQL_DATABASE%
# mysql
- mysql -u root -p"Password12!" -e "CREATE DATABASE IF NOT EXISTS ez_test;"
- mysql -u root -p"Password12!" -e "GRANT ALL PRIVILEGES ON ez_test.* TO ez_test@localhost IDENTIFIED BY 'ezTest'";
- mysql -u root -p"Password12!" -e "FLUSH PRIVILEGES;"
on_success:
- ps: |
$env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
bash codecov.sh -f "coverage.xml"
## Run the actual test
test_script:
- cd c:\projects\php-project-workspace
- vendor\bin\phpunit --coverage-clover=coverage.xml