appveyor.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. build: false
  2. shallow_clone: false
  3. platform: 'x86'
  4. clone_folder: c:\projects\cakephp
  5. branches:
  6. only:
  7. - master
  8. - 3.1
  9. environment:
  10. global:
  11. PHP: "C:/PHP"
  12. matrix:
  13. - db: 2012
  14. db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false'
  15. services:
  16. - mssql2012sp1
  17. init:
  18. - SET PATH=C:\php\;%PATH%
  19. install:
  20. - cd c:\
  21. - ps: Start-FileDownload 'http://ci.cakephp.org/php.zip'
  22. - 7z x php.zip -oc:\php
  23. - cd c:\php
  24. - copy php.ini-production php.ini
  25. - echo date.timezone="UTC" >> php.ini
  26. - echo extension_dir=ext >> php.ini
  27. - echo extension=php_openssl.dll >> php.ini
  28. - echo extension=php_sqlsrv.dll >> php.ini
  29. - echo extension=php_pdo_sqlsrv.dll >> php.ini
  30. - echo extension=php_pdo_mysql.dll >> php.ini
  31. - echo extension=php_intl.dll >> php.ini
  32. - echo extension=php_mbstring.dll >> php.ini
  33. - echo extension=php_fileinfo.dll >> php.ini
  34. - cd C:\projects\cakephp
  35. - php -r "readfile('https://getcomposer.org/installer');" | php
  36. - php composer.phar install --prefer-dist --no-interaction --dev
  37. before_test:
  38. # This script solves the "Database 'model' is being recovered. Waiting until recovery is finished."
  39. # This solution comes from https://gist.github.com/jonathanhickford/1cb0d6665adab8b9c664
  40. # and is follow by http://help.appveyor.com/discussions/suggestions/264-database-mssqlsystemresource-is-being-recovered-waiting-for-sql-server-to-start
  41. - ps: >-
  42. $tries = 5;
  43. $pause = 10; # Seconds to wait between tries
  44. While ($tries -gt 0) {
  45. try {
  46. $ServerConnectionString = "Data Source=(local)\SQL2012SP1;Initial Catalog=master;User Id=sa;PWD=Password12!";
  47. $ServerConnection = new-object system.data.SqlClient.SqlConnection($ServerConnectionString);
  48. $query = "exec sp_configure 'clr enabled', 1;`n"
  49. $query = $query + "RECONFIGURE;`n"
  50. $cmd = new-object system.data.sqlclient.sqlcommand($query, $ServerConnection);
  51. $ServerConnection.Open();
  52. "Running:"
  53. $query
  54. if ($cmd.ExecuteNonQuery() -ne -1) {
  55. "SQL Error";
  56. } else {
  57. "Success"
  58. }
  59. $ServerConnection.Close();
  60. $tries = 0;
  61. } catch {
  62. "Error:"
  63. $_.Exception.Message
  64. "Retry in $pause seconds. Attempts left: $tries";
  65. Start-Sleep -s $pause;
  66. }
  67. $tries = $tries -1;
  68. }
  69. test_script:
  70. - sqlcmd -S ".\SQL2012SP1" -U sa -P Password12! -Q "create database cakephp;"
  71. - cd C:\projects\cakephp
  72. - vendor\bin\phpunit.bat