Skip to content

Commit 60cb220

Browse files
wouterjxabbuh
authored andcommitted
Port Appveyor to GitHub Actions
1 parent f41aa69 commit 60cb220

File tree

2 files changed

+131
-69
lines changed

2 files changed

+131
-69
lines changed

.appveyor.yml

-69
This file was deleted.

.github/workflows/windows.yml

+131
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
name: Windows
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
9+
cancel-in-progress: true
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
windows:
16+
name: Windows
17+
18+
defaults:
19+
run:
20+
shell: pwsh
21+
22+
runs-on: windows-2022
23+
24+
env:
25+
COMPOSER_NO_INTERACTION: '1'
26+
SYMFONY_DEPRECATIONS_HELPER: 'strict'
27+
ANSICON: '121x90 (121x90)'
28+
SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE: '1'
29+
30+
steps:
31+
- name: Setup Git
32+
run: |
33+
git config --global core.autocrlf false
34+
git config --global user.email ""
35+
git config --global user.name "Symfony"
36+
37+
- name: Checkout
38+
uses: actions/checkout@v4
39+
with:
40+
fetch-depth: 2
41+
42+
- name: Setup PHP
43+
run: |
44+
$env:Path = 'c:\php;' + $env:Path
45+
mkdir c:\php && cd c:\php
46+
iwr -outf php-7.2.5-Win32-VC15-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php-7.2.5-Win32-VC15-x86.zip
47+
7z x php-7.2.5-Win32-VC15-x86.zip -y >nul
48+
cd ext
49+
iwr -outf php_apcu-5.1.19-7.2-ts-vc15-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-5.1.19-7.2-ts-vc15-x86.zip
50+
7z x php_apcu-5.1.19-7.2-ts-vc15-x86.zip -y >nul
51+
iwr -outf php_redis-5.3.2-7.2-ts-vc15-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-5.3.2-7.2-ts-vc15-x86.zip
52+
7z x php_redis-5.3.2-7.2-ts-vc15-x86.zip -y >nul
53+
cd ..
54+
Copy php.ini-development php.ini-min
55+
"memory_limit=-1" >> php.ini-min
56+
"serialize_precision=-1" >> php.ini-min
57+
"max_execution_time=1200" >> php.ini-min
58+
"post_max_size=2047M" >> php.ini-min
59+
"upload_max_filesize=2047M" >> php.ini-min
60+
"date.timezone=`"America/Los_Angeles`"" >> php.ini-min
61+
"extension_dir=ext" >> php.ini-min
62+
"extension=php_xsl.dll" >> php.ini-min
63+
"extension=php_mbstring.dll" >> php.ini-min
64+
Copy php.ini-min php.ini-max
65+
"zend_extension=php_opcache.dll" >> php.ini-max
66+
"opcache.enable_cli=1" >> php.ini-max
67+
"extension=php_openssl.dll" >> php.ini-max
68+
"extension=php_apcu.dll" >> php.ini-max
69+
"extension=php_redis.dll" >> php.ini-max
70+
"apc.enable_cli=1" >> php.ini-max
71+
"extension=php_intl.dll" >> php.ini-max
72+
"extension=php_fileinfo.dll" >> php.ini-max
73+
"extension=php_pdo_sqlite.dll" >> php.ini-max
74+
"extension=php_curl.dll" >> php.ini-max
75+
"extension=php_sodium.dll" >> php.ini-max
76+
Copy php.ini-max php.ini
77+
cd ${{ github.workspace }}
78+
iwr -outf composer.phar https://getcomposer.org/download/latest-stable/composer.phar
79+
mkdir %APPDATA%\Composer && Copy .github\composer-config.json %APPDATA%\Composer\config.json
80+
81+
- name: Install dependencies
82+
id: setup
83+
shell: cmd
84+
run: |
85+
SET PATH=c:\php;%PATH%
86+
mkdir %APPDATA%\Composer && copy /Y .github\composer-config.json %APPDATA%\Composer\config.json
87+
FOR /F "tokens=* USEBACKQ" %%F IN (`bash -c "grep ' VERSION = ' src/Symfony/Component/HttpKernel/Kernel.php | grep -o '[0-9][0-9]*\.[0-9]'"`) DO (SET SYMFONY_VERSION=%%F)
88+
php .github/build-packages.php HEAD^ %SYMFONY_VERSION% src\Symfony\Bridge\PhpUnit
89+
SET COMPOSER_ROOT_VERSION=%SYMFONY_VERSION%.x-dev
90+
91+
echo ::group::composer update
92+
php composer.phar update --no-progress --ansi
93+
echo ::endgroup::
94+
95+
echo ::group::phpunit install
96+
php phpunit install
97+
echo ::endgroup::
98+
99+
echo ::group::memurai-developer install
100+
choco install --no-progress memurai-developer
101+
echo ::endgroup::
102+
103+
- name: Run tests (minimal extensions)
104+
if: always() && steps.setup.outcome == 'success'
105+
run: |
106+
$env:Path = 'c:\php;' + $env:Path
107+
$env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
108+
109+
Copy c:\php\php.ini-min c:\php\php.ini
110+
mv src\Symfony\Component\HttpClient\phpunit.xml.dist src\Symfony\Component\HttpClient\phpunit.xml
111+
php phpunit src\Symfony --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group network --exclude-group transient-on-windows
112+
php phpunit src\Symfony\Component\HttpClient
113+
114+
if ($Error) {
115+
throw "Test failures"
116+
}
117+
118+
- name: Run tests
119+
if: always() && steps.setup.outcome == 'success'
120+
run: |
121+
$env:Path = 'c:\php;' + $env:Path
122+
$env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
123+
$x = 0
124+
125+
Copy c:\php\php.ini-max c:\php\php.ini
126+
php phpunit src\Symfony --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group network --exclude-group transient-on-windows
127+
php phpunit src\Symfony\Component\HttpClient
128+
129+
if ($Error) {
130+
throw "Test failures"
131+
}

0 commit comments

Comments
 (0)