Skip to content
This repository was archived by the owner on Jan 26, 2022. It is now read-only.

Commit 467a64f

Browse files
committed
refs #45: add appveyor as CI tool for windows testing
1 parent e731139 commit 467a64f

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

appveyor.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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

Comments
 (0)