mirror of
https://github.com/danog/psalm.git
synced 2024-12-13 09:47:29 +01:00
db3072d0ba
This should make appveyor logs much more readable. Currently they have thousands of lines like ``` Progress: Downloading php 7.4.3... 98% Progress: Downloading php 7.4.3... 98% Progress: Downloading php 7.4.3... 98% ```
65 lines
3.0 KiB
YAML
65 lines
3.0 KiB
YAML
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 --no-progress --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-stable.phar -FileName 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 --prefer-source --no-progress --profile --prefer-lowest --prefer-stable
|
|
- if %DEPS%==high appveyor-retry composer update --no-interaction --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))
|