| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- build: false
- shallow_clone: false
- platform: 'x86'
- clone_folder: c:\projects\cakephp
- cache:
- - '%LOCALAPPDATA%\Composer'
- - '%APPDATA%\Composer'
- branches:
- only:
- - master
- - 3.next
- environment:
- global:
- PHP: "C:/PHP"
- matrix:
- - db: 2012
- db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false'
- services:
- - mssql2012sp1
- init:
- - SET PATH=C:\php\;%PATH%
- install:
- - cd c:\
- - curl -fsS https://windows.php.net/downloads/releases/php-5.6.37-nts-Win32-VC11-x86.zip -o php.zip
- - 7z x php.zip -oc:\php > nul
- - curl -fsS https://dl.dropboxusercontent.com/s/euip490d9183jkr/SQLSRV32.cab -o sqlsrv.cab
- - 7z x sqlsrv.cab -oc:\php\ext php*_56_nts.dll > nul
- - cd c:\php
- - copy php.ini-production php.ini
- - echo date.timezone="UTC" >> php.ini
- - echo extension_dir=ext >> php.ini
- - echo extension=php_openssl.dll >> php.ini
- - echo extension=php_sqlsrv_56_nts.dll >> php.ini
- - echo extension=php_pdo_sqlsrv_56_nts.dll >> php.ini
- - echo extension=php_intl.dll >> php.ini
- - echo extension=php_mbstring.dll >> php.ini
- - echo extension=php_fileinfo.dll >> php.ini
- - curl -fsS https://windows.php.net/downloads/pecl/releases/wincache/1.3.7.12/php_wincache-1.3.7.12-5.6-nts-vc11-x86.zip -o wincache.zip
- - 7z x wincache.zip -oc:\php\ext php_wincache.dll > nul
- - echo extension=php_wincache.dll >> php.ini
- - echo wincache.enablecli = 1 >> php.ini
- - cd C:\projects\cakephp
- - curl -fsS https://getcomposer.org/composer.phar -o composer.phar
- - php composer.phar install --prefer-dist --no-interaction --ansi --no-progress
- - php -i | grep "ICU version"
- before_test:
- # This script solves the "Database 'model' is being recovered. Waiting until recovery is finished."
- # This solution comes from https://gist.github.com/jonathanhickford/1cb0d6665adab8b9c664
- # and is follow by http://help.appveyor.com/discussions/suggestions/264-database-mssqlsystemresource-is-being-recovered-waiting-for-sql-server-to-start
- - ps: >-
- $tries = 5;
- $pause = 10; # Seconds to wait between tries
- While ($tries -gt 0) {
- try {
- $ServerConnectionString = "Data Source=(local)\SQL2012SP1;Initial Catalog=master;User Id=sa;PWD=Password12!";
- $ServerConnection = new-object system.data.SqlClient.SqlConnection($ServerConnectionString);
- $query = "exec sp_configure 'clr enabled', 1;`n"
- $query = $query + "RECONFIGURE;`n"
- $cmd = new-object system.data.sqlclient.sqlcommand($query, $ServerConnection);
- $ServerConnection.Open();
- "Running:"
- $query
- if ($cmd.ExecuteNonQuery() -ne -1) {
- "SQL Error";
- } else {
- "Success"
- }
- $ServerConnection.Close();
- $tries = 0;
- } catch {
- "Error:"
- $_.Exception.Message
- "Retry in $pause seconds. Attempts left: $tries";
- Start-Sleep -s $pause;
- }
- $tries = $tries -1;
- }
- test_script:
- - sqlcmd -S ".\SQL2012SP1" -U sa -P Password12! -Q "create database cakephp;"
- - cd C:\projects\cakephp
- - vendor\bin\phpunit.bat
|