forked from ezSQL/ezsql
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpauseappveyor.yml
114 lines (106 loc) · 4.95 KB
/
pauseappveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
build: false
platform:
- x64
clone_folder: c:\projects\php-project-workspace
## Build matrix for lowest and highest possible targets
environment:
matrix:
- php_ver_target: 7.3.11
MYSQL_DATABASE: ez_test
MYSQL_HOST: localhost
MYSQL_USER: root
MYSQL_PASSWORD: Password12!
MYSQL_PATH: C:\Program Files\MySQL\MySQL Server 5.7
services:
- mssql2014
- mysql
- postgresql
## Set up environment variables
init:
- SET COMPOSER_NO_INTERACTION=1
- SET PHP=1 # This var is connected to PHP install cache
- SET ANSICON=121x90 (121x90)
## Install PHP and composer, and run the appropriate composer command Get the MSSQL DLL's and XDEBUG
install:
# Enable Windows Update service, needed to install vcredist2015 (dependency of php)
- IF EXIST c:\tools\php73 (SET PHP=0)
- ps: Set-Service wuauserv -StartupType Manual
- choco config set cacheLocation %LOCALAPPDATA%\Temp\Chocolatey
- choco install -y php --version %php_ver_target%
- choco install -y sqlite
- choco install -y composer
- refreshenv
- composer install --no-interaction --no-progress --prefer-dist
- cd C:\tools\php73
# Get the MSSQL DLL's
- ps: >-
If ($env:PHP -eq "1") {
$DLLVersion = "5.6.1"
cd C:\tools\php73\ext
$source = "http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-7.3-nts-vc15-x64.zip"
$destination = "C:\tools\php73\ext\php_sqlsrv-$($DLLVersion)-7.3-nts-vc15-x64.zip"
Invoke-WebRequest $source -OutFile $destination
7z x -y php_sqlsrv-$($DLLVersion)-7.3-nts-vc15-x64.zip > $null
$source = "http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-7.3-nts-vc15-x64.zip"
$destination = "C:\tools\php73\ext\php_pdo_sqlsrv-$($DLLVersion)-7.3-nts-vc15-x64.zip"
Invoke-WebRequest $source -OutFile $destination
7z x -y php_pdo_sqlsrv-$($DLLVersion)-7.3-nts-vc15-x64.zip > $null
Remove-Item C:\tools\php73\ext* -include .zip
Invoke-WebRequest "https://xdebug.org/files/php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll" -OutFile "C:\tools\php73\ext\php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll"
cd C:\tools\php73
}
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini
- IF %PHP%==1 echo extension_dir=ext >> php.ini
- IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
- ps: >-
If ($env:php_ver_target -eq "5.6") {
Add-Content php.ini "`nextension=php_sqlsrv_nts.dll"
Add-Content php.ini "`nextension=php_pdo_sqlsrv_nts.dll"
Add-Content php.ini "`n"
} Else {
Add-Content php.ini "`nextension=php_sqlsrv.dll"
Add-Content php.ini "`nextension=php_pdo_sqlsrv.dll"
Add-Content php.ini "`n"
}
- IF %PHP%==1 echo extension=php_pgsql.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_pgsql.dll >> php.ini
- IF %PHP%==1 echo extension=php_sqlite3.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_sqlite.dll >> php.ini
- IF %PHP%==1 echo extension=php_mysqli.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_mysql.dll >> php.ini
- IF %PHP%==1 echo [xdebug] >> php.ini
- IF %PHP%==1 echo zend_extension=php_xdebug-2.7.2-7.3-vc15-nts-x86_64.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 xdebug.remote_enable=1 >> php.ini
- IF %PHP%==1 echo xdebug.remote_autostart=1 >> php.ini
- IF %PHP%==1 echo xdebug.profiler_enable=off >> php.ini
- cd c:\projects\php-project-workspace
- composer self-update
- composer require phpstan/phpstan "0.11.3"
build_script:
# postgres
- SET PGUSER=postgres
- SET PGPASSWORD=Password12!
- PATH=C:\Program Files\PostgreSQL\9.6\bin\;%PATH%
- createdb ez_test
- psql -c "CREATE USER ez_test WITH PASSWORD 'ezTest';"
# sqlserver
- sqlcmd -S localhost,1433 -U sa -P Password12! -Q "CREATE DATABASE ez_test"
- sqlcmd -S localhost,1433 -U sa -P Password12! -d ez_test -Q "CREATE LOGIN ez_test WITH PASSWORD=N'ezTest', DEFAULT_DATABASE=ez_test, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF; ALTER SERVER ROLE [sysadmin] ADD MEMBER ez_test"
before_test:
- SET PATH=%MYSQL_PATH%\bin;%PATH%
- mysqladmin --host=%MYSQL_HOST% --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% create %MYSQL_DATABASE%
# mysql
- mysql -u root -p"Password12!" -e "CREATE DATABASE IF NOT EXISTS ez_test;"
- mysql -u root -p"Password12!" -e "GRANT ALL PRIVILEGES ON ez_test.* TO ez_test@localhost IDENTIFIED BY 'ezTest'";
- mysql -u root -p"Password12!" -e "FLUSH PRIVILEGES;"
on_success:
- ps: |
$env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
bash codecov.sh -f "coverage.xml"
## Run the actual test
test_script:
- cd c:\projects\php-project-workspace
- vendor\bin\phpunit --coverage-clover=coverage.xml