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