forked from swoole/swoole-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
214 lines (174 loc) · 8.29 KB
/
windows-native-2019-t.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
name: build-php-cli-windows-2019
on:
push:
pull_request:
env:
BUILD_PHP_VERSION: 8.2.13
jobs:
windows-native:
if: 0
runs-on: windows-2019
strategy:
matrix:
php-version:
# - "8.2.13"
# - "8.1.27"
- "8.3.7"
steps:
- uses: actions/checkout@v4
- uses: ilammy/[email protected]
with:
arch: amd64
- name: show environment info
run: |
git config --global core.autocrlf false
git config --global core.eol lf
env
ipconfig
uname -a
pwd
ipconfig /all
echo "BUILD_PHP_VERSION=${{ matrix.php-version }}" >> $Env:GITHUB_ENV
- uses: msys2/setup-msys2@v2
with:
install: >-
curl git zip unzip tar xz
- name: prepare build environment and download source code
shell: msys2 {0}
run: |
CURRENT_DIR=$(pwd)
echo $CURRENT_DIR
# bash setup-php-runtime.sh
bash sapi/download-box/download-box-get-archive-from-server.sh
curl -Lo php-8.2.19-nts-Win32-vs16-x64.zip https://windows.php.net/downloads/releases/php-8.2.19-nts-Win32-vs16-x64.zip
unzip -d php php-8.2.19-nts-Win32-vs16-x64.zip
pwd
cp -f php/php.ini-production php/php.ini
mkdir -p bin/runtime/
curl -Lo bin/runtime/composer.phar https://getcomposer.org/download/latest-stable/composer.phar
export PATH=$PATH:${CURRENT_DIR}/php/
echo 'extension_dir="${{ github.workspace }}\php\ext" ' >> php/php.ini
echo 'extension=php_curl.dll' >> php/php.ini
echo 'extension=php_bz2.dll' >> php/php.ini
echo 'extension=php_openssl.dll' >> php/php.ini
echo 'extension=php_fileinfo.dll' >> php/php.ini
php -v
php -m
php bin/runtime/composer.phar install --no-interaction --no-autoloader --no-scripts --profile --ignore-platform-req=ext-posix --ignore-platform-req=ext-yaml
php bin/runtime/composer.phar dump-autoload --optimize --profile --ignore-platform-req=ext-posix --ignore-platform-req=ext-yaml
php prepare.php --without-docker=1 --skip-download=1 --with-libavif=1 +uuid +apcu +ds +xlswriter +ssh2
ls -lh var/download-box/
bash var/download-box/download_library_use_script_for_windows.sh
bash var/download-box/download_library_use_git.sh
bash sapi/download-box/download-box-dependencies-sync.sh
bash var/download-box/extract-files.sh
git clone -b master --depth=1 https://github.com/php/php-sdk-binary-tools.git
git clone -b php-${{ env.BUILD_PHP_VERSION }} --depth=1 https://github.com/php/php-src.git
cp -rf ext/* php-src/ext/
ls -lh php-src/ext/
# https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/
curl -Lo nasm-2.16.03-win64.zip https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/win64/nasm-2.16.03-win64.zip
unzip -d nasm nasm-2.16.03-win64.zip
ls -lh nasm
curl -Lo strawberry-perl-5.38.2.2-64bit.msi https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_53822_64bit/strawberry-perl-5.38.2.2-64bit.msi
dir
- name: Install Soft And Set Github ENV variables
run: |
# 命令行静默安装 msi
# msiexec /i strawberry-perl-5.38.2.2-64bit.msi /quiet
msiexec /i strawberry-perl-5.38.2.2-64bit.msi /passive
$CURRENT_DIR = Get-Location
$X_PATH="$CURRENT_DIR\nasm\nasm-2.16.03\;$CURRENT_DIR\php\;$env:PATH"
echo $X_PATH
echo "PATH=$X_PATH" >> $Env:GITHUB_ENV
# Get-WmiObject –class Win32_processor | ft NumberOfCores,NumberOfLogicalProcessors
#
# - name: show PHPSDK env
# shell: cmd
# run: |
#
# : set PATH=%cd%\swoole-cli-v5.0.3-cygwin-x64\bin\;%PATH%
#
# : swoole-cli.exe /cygdrive/d/a/swoole-cli/swoole-cli/swoole-cli-v5.0.3-cygwin-x64/bin/composer.phar config -g repos.packagist composer https://packagist.org
# : swoole-cli.exe /cygdrive/d/a/swoole-cli/swoole-cli/swoole-cli-v5.0.3-cygwin-x64/bin/composer.phar update --prefer-dist -vvv --profile --no-dev
# : swoole-cli.exe /cygdrive/d/a/swoole-cli/swoole-cli/swoole-cli-v5.0.3-cygwin-x64/bin/composer.phar update --prefer-source -vvv --profile --no-dev
#
# : swoole-cli.exe prepare.php --without-docker=1 --skip-download=1
#
# : 本命令无效 ,只是为了看输出
# call php-sdk-binary-tools\phpsdk-vs16-x64.bat
# - name: "Install PHP for official runners"
# uses: "shivammathur/setup-php@v2"
# with:
# coverage: none
# tools: composer:v2
# php-version: 8.2
# ini-values: memory_limit=-1
#
- name: Set PHPSDK Github ENV variables
run: |
echo "PHP_SDK_ARCH=x64" >> $Env:GITHUB_ENV
echo "PHP_SDK_BIN_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin" >> $Env:GITHUB_ENV
echo "PHP_SDK_MSYS2_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\msys2\usr\bin" >> $Env:GITHUB_ENV
echo "PHP_SDK_OS_ARCH=x64" >> $Env:GITHUB_ENV
echo "PHP_SDK_PHP_CMD=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin\php\do_php.bat" >> $Env:GITHUB_ENV
echo "PHP_SDK_ROOT_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools" >> $Env:GITHUB_ENV
echo "PHP_SDK_VC_DIR=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC" >> $Env:GITHUB_ENV
echo "PHP_SDK_VC_TOOLSET_VER=$env:VCToolsVersion" >> $Env:GITHUB_ENV
echo "PHP_SDK_VS=vs17" >> $Env:GITHUB_ENV
echo "PHP_SDK_VS_NUM=17" >> $Env:GITHUB_ENV
echo "PHP_SDK_VS_SHELL_CMD=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat amd64" >> $Env:GITHUB_ENV
$CURRENT_DIR = Get-Location
$X_PATH="${CURRENT_DIR}\php-sdk-binary-tools\bin;${CURRENT_DIR}\php-sdk-binary-tools\msys2\usr\bin;$env:PATH"
echo $X_PATH
echo "PATH=$X_PATH" >> $Env:GITHUB_ENV
- name: build all library
shell: cmd
run: |
echo %cd%
perl -v
nasm -v
cmd /c sapi\quickstart\windows\native\zlib.bat
cmd /c sapi\quickstart\windows\native\openssl.bat
- name: build php
run: |
$CURRENT_DIR = Get-Location
cd php-src
cmd /c buildconf
cmd /c configure --help
cmd /c ${CURRENT_DIR}\sapi\quickstart\windows\build-native-php.bat
cd ${CURRENT_DIR}\
php-src\x64\Release_TS\php.exe -v
php-src\x64\Release_TS\php.exe -m
- name: test set env in cmd
if: 0
shell: cmd
run: |
: 脚本所在目录
echo %cd%
SET CURRENT_DIR=%cd%
: set PATH=%cd%\swoole-cli-v5.0.3-cygwin-x64\bin\;%PATH%
: swoole-cli.exe -v
set PHP_SDK_ARCH=x64
set PHP_SDK_BIN_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin
set PHP_SDK_MSYS2_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\msys2\usr\bin
set PHP_SDK_OS_ARCH=x64
set PHP_SDK_PHP_CMD=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin\php\do_php.bat
set PHP_SDK_ROOT_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools
set "PHP_SDK_VC_DIR=C:\Program Files\Microsoft Visual Studio\2019\Enterprise\VC"
set "PHP_SDK_VC_TOOLSET_VER=%VCToolsVersion%"
set PHP_SDK_VS=vs16
set PHP_SDK_VS_NUM=16
set "PHP_SDK_VS_SHELL_CMD=C:\Program Files\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat amd64"
set PATH=%cd%\php\;%PATH%
set "PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin;D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\msys2\usr\bin;%PATH%"
echo %PATH%
cd %CURRENT_DIR%
echo %cd%
cd php-src
call buildconf
call configure --help
call configure --disable-all --disable-cgi --enable-cli --enable-sockets --enable-mbstring --enable-ctype --enable-pdo --enable-phar --enable-xmlreader --enable-xmlwriter --enable-zlib
call nmake
D:\a\swoole-cli\swoole-cli\php-src\x64\Release_TS\php.exe -v
D:\a\swoole-cli\swoole-cli\php-src\x64\Release_TS\php.exe -m