1+ build : false
2+ platform :
3+ - x64
4+ clone_folder : c:\projects\php-project-workspace
5+
6+ # # Build matrix for lowest and highest possible targets
7+ environment :
8+ matrix :
9+ - php_ver_target : 7.1
10+ MYSQL_DATABASE : ez_test
11+ MYSQL_HOST : localhost
12+ MYSQL_USER : root
13+ MYSQL_PASSWORD : Password12!
14+ MYSQL_PATH : C:\Program Files\MySQL\MySQL Server 5.7
15+
16+ services :
17+ - mssql2014
18+ - mysql
19+ - postgresql
20+
21+ # # Cache composer, chocolatey and php bits
22+ cache :
23+ - composer.phar
24+ # Cache chocolatey packages
25+ - C:\ProgramData\chocolatey\bin -> .appveyor.yml
26+ - C:\ProgramData\chocolatey\lib -> .appveyor.yml
27+ # Cache php install
28+ - c:\tools\php -> .appveyor.yml
29+
30+ # # Set up environment variables
31+ init :
32+ - SET CUBRID=c:\CUBRID
33+ - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;C:\Program Files\PostgreSQL\9.4\bin\;C:\CUBRID\bin\;%PATH%
34+ - SET COMPOSER_NO_INTERACTION=1
35+ - SET PHP=1 # This var is connected to PHP install cache
36+ - SET ANSICON=121x90 (121x90)
37+
38+ # # Install PHP and composer, and run the appropriate composer command Get the MSSQL DLL's and XDEBUG
39+ install :
40+ - IF EXIST c:\tools\php (SET PHP=0)
41+ - ps : >-
42+ If ($env:php_ver_target -eq "5.6") {
43+ appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y --forcex86 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|]','')
44+ } Else {
45+ 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|]','')
46+ }
47+ - appveyor-retry cinst -y sqlite
48+ - cd c:\tools
49+ - IF %PHP%==1 appveyor-retry appveyor DownloadFile http://dl.filehorse.com//win/developer-tools/oracle-database-express-64/OracleXE112_Win64.zip?st=JBllKt6MNHDfMAyhjqLFNA&e=1522806869&fn=OracleXE112_Win64.zip
50+ - IF %PHP%==1 7z x -y OracleXE112_Win64.zip > $null
51+ - IF %PHP%==1 del OracleXE112_Win64.zip
52+ - cd c:\tools\DISK1
53+ - IF %PHP%==1 setup.exe /s f1"response\OracleXE-install.iss" /f2"response\setup.log"
54+ - cd c:\tools\php\ext
55+ - IF %PHP%==1 appveyor-retry appveyor DownloadFile http://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/10.1.0/Windows/CUBRID-PHP-7.1-WIN64-VC14_NTS-10.1.0.0003.zip
56+ - IF %PHP%==1 appveyor-retry appveyor DownloadFile http://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/PDO/CUBRID10.1.0/Windows/CUBRID-PDO-7.1-WIN64-VC14-NTS-10.1.0.0003.bin.zip
57+ - IF %PHP%==1 7z x -y CUBRID-PHP-7.1-WIN64-VC14_NTS-10.1.0.0003.zip > $null
58+ - IF %PHP%==1 7z x -y CUBRID-PDO-7.1-WIN64-VC14-NTS-10.1.0.0003.bin.zip > $null
59+ - cd c:\tools
60+ - IF %PHP%==1 appveyor-retry appveyor DownloadFile http://ftp.cubrid.org/CUBRID_Engine/10.1_latest/CUBRID-Windows-x64-10.1-latest.msi
61+ - IF %PHP%==1 REG ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V %cd%\CUBRID-Windows-x64-10.1-latest.msi /T REG_SZ /D WIN7RTM /F
62+ - IF %PHP%==1 msiexec /i CUBRID-Windows-x64-10.1-latest.msi /q
63+ - cd c:\tools\php
64+ # Get the MSSQL DLL's
65+ - ps : >-
66+ If ($env:PHP -eq "1") {
67+ If ($env:php_ver_target -eq "5.6") {
68+ $source = "https://cdn.joomla.org/ci/php-sqlsrv.zip"
69+ $destination = "c:\tools\php\php-sqlsrv.zip"
70+ Invoke-WebRequest $source -OutFile $destination
71+ #appveyor-retry appveyor DownloadFile https://cdn.joomla.org/ci/php-sqlsrv.zip
72+ 7z x php-sqlsrv.zip > $null
73+ copy SQLSRV\php_sqlsrv_56_nts.dll ext\php_sqlsrv_nts.dll
74+ copy SQLSRV\php_pdo_sqlsrv_56_nts.dll ext\php_pdo_sqlsrv_nts.dll
75+ Remove-Item c:\tools\php\* -include .zip
76+ } Else {
77+ $DLLVersion = "4.3.0"
78+ cd c:\tools\php\ext
79+ $source = "http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip"
80+ $destination = "c:\tools\php\ext\php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip"
81+ Invoke-WebRequest $source -OutFile $destination
82+ #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip
83+ 7z x -y php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip > $null
84+ $source = "http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip"
85+ $destination = "c:\tools\php\ext\php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip"
86+ Invoke-WebRequest $source -OutFile $destination
87+ #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip
88+ 7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip > $null
89+ Remove-Item c:\tools\php\ext* -include .zip
90+ cd c:\tools\php}}
91+ - IF %PHP%==1 copy php.ini-production php.ini /Y
92+ - IF %PHP%==1 echo date.timezone="UTC" >> php.ini
93+ - IF %PHP%==1 echo extension_dir=ext >> php.ini
94+ - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
95+ - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
96+ - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
97+ - ps : >-
98+ If ($env:php_ver_target -eq "5.6") {
99+ Add-Content php.ini "`nextension=php_sqlsrv_nts.dll"
100+ Add-Content php.ini "`nextension=php_pdo_sqlsrv_nts.dll"
101+ Add-Content php.ini "`n"
102+ } Else {
103+ Add-Content php.ini "`nextension=php_sqlsrv.dll"
104+ Add-Content php.ini "`nextension=php_pdo_sqlsrv.dll"
105+ Add-Content php.ini "`n"
106+ }
107+ - IF %PHP%==1 echo extension=php_pgsql.dll >> php.ini
108+ - IF %PHP%==1 echo extension=php_pdo_pgsql.dll >> php.ini
109+ - IF %PHP%==1 echo extension=php_sqlite3.dll >> php.ini
110+ - IF %PHP%==1 echo extension=php_pdo_sqlite.dll >> php.ini
111+ - IF %PHP%==1 echo extension=php_mysqli.dll >> php.ini
112+ - IF %PHP%==1 echo extension=php_pdo_mysql.dll >> php.ini
113+ - IF %PHP%==1 echo extension=php_cubrid.dll >> php.ini
114+ - IF %PHP%==1 echo extension=php_pdo_cubrid.dll >> php.ini
115+ - IF %PHP%==1 appveyor-retry appveyor DownloadFile https://xdebug.org/files/php_xdebug-2.6.0-7.1-vc14-nts-x86_64.dll -FileName c:\tools\php\ext\php_xdebug-2.6.0-7.1-vc14-nts-x86_64.dll
116+ - IF %PHP%==1 echo [xdebug] >> php.ini
117+ - IF %PHP%==1 echo zend_extension=php_xdebug-2.6.0-7.1-vc14-nts-x86_64.dll >> php.ini
118+ - IF %PHP%==1 echo zend.assertions=1 >> php.ini
119+ - IF %PHP%==1 echo assert.exception=On >> php.ini
120+ - IF %PHP%==1 echo xdebug.remote_enable=1 >> php.ini
121+ - IF %PHP%==1 echo xdebug.remote_autostart=1 >> php.ini
122+ - IF %PHP%==1 echo xdebug.profiler_enable=off >> php.ini
123+ - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
124+ - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar
125+ - cd c:\projects\php-project-workspace
126+ - composer self-update
127+ - composer require php-coveralls/php-coveralls
128+
129+ build_script :
130+ # postgres
131+ - SET PGUSER=postgres
132+ - SET PGPASSWORD=Password12!
133+ - createdb ez_test
134+ - psql -c "CREATE USER ez_test WITH PASSWORD 'ezTest';"
135+ # sqlserver
136+ - sqlcmd -S localhost,1433 -U sa -P Password12! -Q "CREATE DATABASE ez_test"
137+ - sqlcmd -S localhost,1433 -U sa -P Password12! -d ez_test -Q "CREATE LOGIN ez_test WITH PASSWORD=N'ezTest', DEFAULT_DATABASE=ez_test, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF; ALTER SERVER ROLE [sysadmin] ADD MEMBER ez_test"
138+
139+ before_test :
140+ # cubrid
141+ - mkdir c:\CUBRID\database
142+ - cd c:\CUBRID\database
143+ - cubrid service start
144+ - cubrid createdb --db-volume-size=128M --db-page-size=16K --log-volume-size=128M ez_test en_US
145+ - cubrid server start ez_test
146+ - csql ez_test -u dba -c "CREATE USER ez_test PASSWORD 'ezTest' MEMBERS dba"
147+ # mysql
148+ - SET PATH=%MYSQL_PATH%\bin;%PATH%
149+ - mysqladmin --host=%MYSQL_HOST% --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% create %MYSQL_DATABASE%
150+ - mysql -u root -p"Password12!" -e "CREATE DATABASE IF NOT EXISTS ez_test;"
151+ - mysql -u root -p"Password12!" -e "GRANT ALL PRIVILEGES ON ez_test.* TO ez_test@localhost IDENTIFIED BY 'ezTest'";
152+ - mysql -u root -p"Password12!" -e "FLUSH PRIVILEGES;"
153+
154+ on_success :
155+ - ps : |
156+ $env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
157+ Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
158+ bash codecov.sh -f "coverage.xml"
159+
160+ # # Run the actual test
161+ test_script :
162+ - cd c:\projects\php-project-workspace
163+ - vendor/bin/phpunit --coverage-clover=coverage.xml
164+
0 commit comments