build: false platform: - x64 clone_folder: c:\projects\php-project-workspace ## Set up environment variables init: - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH% - SET COMPOSER_NO_INTERACTION=1 - SET PHP=1 # This var is connected to PHP install cache - SET ANSICON=121x90 (121x90) environment: SSL_CERT_FILE: "C:\\tools\\php\\cacert.pem" matrix: - php_ver_target: 7.4 DEPS: 'high' cache: - '%LOCALAPPDATA%\Composer\files -> composer.lock' - composer.phar # Cache chocolatey packages - C:\ProgramData\chocolatey\bin -> .appveyor.yml - C:\ProgramData\chocolatey\lib -> .appveyor.yml # Cache php install - c:\tools\php -> .appveyor.yml ## Install PHP and composer, and run the appropriate composer command install: - IF EXIST c:\tools\php (SET PHP=0) # Checks for the PHP install being cached - 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|]','') - appveyor DownloadFile https://curl.haxx.se/ca/cacert.pem -FileName C:\tools\php\cacert.pem - cd c:\tools\php - IF %PHP%==1 copy php.ini-production php.ini /Y - IF %PHP%==1 echo date.timezone="UTC" >> php.ini - IF %PHP%==1 echo extension_dir=ext >> php.ini - IF %PHP%==1 echo extension=php_curl.dll >> php.ini - IF NOT EXIST php-installed.txt echo curl.cainfo="C:/tools/php/cacert.pem" >> php.ini - IF NOT EXIST php-installed.txt echo openssl.cafile="C:/tools/php/cacert.pem" >> php.ini - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini - IF %PHP%==1 echo zend.assertions=1 >> php.ini - IF %PHP%==1 echo assert.exception=On >> php.ini - IF %PHP%==1 echo error_reporting=E_ALL >> php.ini - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar - cd c:\projects\php-project-workspace - php -r "phpinfo(INFO_GENERAL);" - if NOT DEFINED APPVEYOR_REPO_TAG_NAME (set COMPOSER_ROOT_VERSION=dev-master) - if %DEPS%==low appveyor-retry composer update --no-interaction --no-suggest --prefer-source --no-progress --profile --prefer-lowest --prefer-stable - if %DEPS%==high appveyor-retry composer update --no-interaction --no-suggest --prefer-source --no-progress --profile - composer show ## Run the actual test test_script: - cd c:\projects\php-project-workspace - vendor/bin/phpunit --log-junit build/phpunit/phpunit.xml - php ./psalm --shepherd on_finish: - ps: $wc = New-Object 'System.Net.WebClient' - ps: $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\build\phpunit\phpunit.xml))