|
| 1 | +build: false |
| 2 | +clone_depth: 50 |
| 3 | +platform: |
| 4 | + - x64 |
| 5 | +environment: |
| 6 | + matrix: |
| 7 | + - dependencies: lowest |
| 8 | + php_version: 5.6 |
| 9 | + - dependencies: highest |
| 10 | + php_version: 5.6 |
| 11 | + - dependencies: lowest |
| 12 | + php_version: 7.1 |
| 13 | + - dependencies: highest |
| 14 | + php_version: 7.1 |
| 15 | + - dependencies: lowest |
| 16 | + php_version: 7.2 |
| 17 | + - dependencies: highest |
| 18 | + php_version: 7.2 |
| 19 | + |
| 20 | + project_directory: c:\projects\closeio-api-wrapper |
| 21 | + composer_directory: c:\tools\composer |
| 22 | + composer_executable: c:\tools\composer\composer.phar |
| 23 | + php_archive_directory: c:\tools\php-archive |
| 24 | + php_directory: c:\tools\php |
| 25 | +clone_folder: c:\projects\closeio-api-wrapper |
| 26 | +cache: |
| 27 | + - c:\tools\composer |
| 28 | + - c:\tools\php-archive |
| 29 | + - '%LOCALAPPDATA%\Composer' |
| 30 | +init: |
| 31 | + - ps: $Env:PATH = $Env:php_directory + ';' + $Env:composer_directory + ';' + $Env:PATH |
| 32 | + - ps: $Env:ANSICON = '121x90 (121x90)' |
| 33 | +install: |
| 34 | + # Download requested PHP version |
| 35 | + - ps: If ((Test-Path $Env:php_archive_directory) -eq $False) { New-Item -Path $Env:php_archive_directory -ItemType 'directory' } |
| 36 | + - ps: $requested_php_version = %{If ($Env:dependencies -eq 'lowest') { $Env:php_version + '.0' } Else { (((choco search php --exact --all-versions -r | Select-String -pattern $Env:php_version) -replace '[php|]', '') | %{ New-Object System.Version $_ } | Sort-Object | Select-Object -Last 1).ToString() }} |
| 37 | + - ps: $requested_php_vc = %{If ($Env:php_version -eq '7.2') { 'VC15' } Else { 'VC14' }} |
| 38 | + - ps: $php_version_url = %{If ($Env:dependencies -eq 'lowest') { 'http://windows.php.net/downloads/releases/archives/php-' + $requested_php_version + '-nts-Win32-' + $requested_php_vc +'-' + $Env:platform + '.zip' } Else { 'http://windows.php.net/downloads/releases/php-' + $requested_php_version + '-nts-Win32-' + $requested_php_vc + '-' + $Env:platform + '.zip' }} |
| 39 | + - ps: $php_version_file = $Env:php_archive_directory + '\php-' + $requested_php_version + '.zip' |
| 40 | + - ps: If ((Test-Path $php_version_file) -eq $False) { appveyor-retry appveyor DownloadFile $php_version_url -FileName $php_version_file } |
| 41 | + |
| 42 | + # Prepare PHP |
| 43 | + - ps: New-Item -Path $Env:php_directory -ItemType 'directory' |
| 44 | + - ps: cd $Env:php_directory |
| 45 | + - ps: 7z x $php_version_file |
| 46 | + - ps: Copy-Item php.ini-production -Destination php.ini |
| 47 | + - ps: Add-Content -Path php.ini -Value 'memory_limit=1G' |
| 48 | + - ps: Add-Content -Path php.ini -Value 'date.timezone="UTC"' |
| 49 | + - ps: Add-Content -Path php.ini -Value 'extension_dir=ext' |
| 50 | + - ps: Add-Content -Path php.ini -Value 'extension=php_curl.dll' |
| 51 | + - ps: Add-Content -Path php.ini -Value 'extension=php_intl.dll' |
| 52 | + - ps: Add-Content -Path php.ini -Value 'extension=php_mbstring.dll' |
| 53 | + - ps: Add-Content -Path php.ini -Value 'extension=php_openssl.dll' |
| 54 | + - ps: php --version |
| 55 | + |
| 56 | + # Prepare composer |
| 57 | + - ps: If ((Test-Path $Env:composer_directory) -eq $False) { New-Item -Path $Env:composer_directory -ItemType 'directory' } |
| 58 | + - ps: If ((Test-Path $Env:composer_executable) -eq $False) { appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar -FileName $Env:composer_executable } |
| 59 | + - ps: Set-Content -Path ($Env:composer_directory + '\composer.bat') -Value ('@php ' + $Env:composer_executable + ' %*') |
| 60 | + - composer self-update |
| 61 | + |
| 62 | + # Install dependencies |
| 63 | + - ps: cd $Env:project_directory |
| 64 | + - IF %dependencies%==lowest composer update --no-interaction --no-progress --prefer-lowest |
| 65 | + - IF %dependencies%==highest composer update --no-interaction --no-progress |
| 66 | + |
| 67 | +test_script: |
| 68 | + - ps: cd $Env:project_directory |
| 69 | + - vendor\bin\phpunit |
0 commit comments