|
| 1 | +build: false |
| 2 | +shallow_clone: true |
| 3 | +platform: |
| 4 | + - x64 |
| 5 | +clone_folder: c:\projects\goaop |
| 6 | + |
| 7 | +## Cache composer, chocolatey and php bits |
| 8 | +cache: |
| 9 | + - '%LOCALAPPDATA%\Composer\files -> composer.lock' |
| 10 | + - composer.phar |
| 11 | + # Cache chocolatey packages |
| 12 | + - C:\ProgramData\chocolatey\bin -> .appveyor.yml |
| 13 | + - C:\ProgramData\chocolatey\lib -> .appveyor.yml |
| 14 | + # Cache php install |
| 15 | + - c:\tools\php -> .appveyor.yml |
| 16 | + |
| 17 | +## Build matrix for lowest and highest possible targets |
| 18 | +environment: |
| 19 | + matrix: |
| 20 | + - dependencies: current |
| 21 | + php_ver_target: 5.6 |
| 22 | + - dependencies: current |
| 23 | + php_ver_target: 7.2 |
| 24 | + #- dependencies: highest |
| 25 | + # php_ver_target: 7.0 |
| 26 | + |
| 27 | +## Set up environment variables |
| 28 | +init: |
| 29 | + - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH% |
| 30 | + - SET COMPOSER_NO_INTERACTION=1 |
| 31 | + - SET PHP=1 # This var is connected to PHP install cache |
| 32 | + - SET ANSICON=121x90 (121x90) |
| 33 | + |
| 34 | +## Install PHP and composer, and run the appropriate composer command |
| 35 | +install: |
| 36 | + - IF EXIST c:\tools\php (SET PHP=0) # Checks for the PHP install being cached |
| 37 | + - ps: 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|]','') |
| 38 | + - cd c:\tools\php |
| 39 | + - IF %PHP%==1 copy php.ini-production php.ini /Y |
| 40 | + - IF %PHP%==1 echo date.timezone="UTC" >> php.ini |
| 41 | + - IF %PHP%==1 echo extension_dir=ext >> php.ini |
| 42 | + - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini |
| 43 | + - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini |
| 44 | + - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini |
| 45 | + - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat |
| 46 | + - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar |
| 47 | + - cd c:\projects\goaop |
| 48 | + - IF %dependencies%==lowest appveyor-retry composer update --prefer-lowest --no-progress --profile -n |
| 49 | + - IF %dependencies%==current appveyor-retry composer install --no-progress --profile |
| 50 | + - IF %dependencies%==highest appveyor-retry composer update --no-progress --profile -n |
| 51 | + - composer show |
| 52 | + |
| 53 | +test_script: |
| 54 | + - cd c:\projects\goaop |
| 55 | + - vendor/bin/phpunit --verbose --coverage-text --coverage-clover=clover.xml --colors |
| 56 | + |
| 57 | +on_finish: |
| 58 | +# Upload test results via rest-api |
| 59 | + - ps: | |
| 60 | + $wc = New-Object 'System.Net.WebClient' |
| 61 | + Get-ChildItem . -Name -Recurse 'clover.xml' | |
| 62 | + Foreach-Object { |
| 63 | + $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $_)) |
| 64 | + } |
0 commit comments