update #153
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |