[pecl-text-xdiff] main: Update Windows CI to be compatible with php/pie

From: Date: Thu, 09 Apr 2026 05:05:37 +0000
Subject: [pecl-text-xdiff] main: Update Windows CI to be compatible with php/pie
Groups: php.pecl.cvs 
Request: Send a blank email to pecl-cvs+get-28510@lists.php.net to get a copy of this message
Author: Shivam Mathur (shivammathur) Date: 2026-04-09T10:22:22+05:30 Commit: https://github.com/php/pecl-text-xdiff/commit/04f0b14bdd1f97c5460877e7cfa02220180593ef Raw diff: https://github.com/php/pecl-text-xdiff/commit/04f0b14bdd1f97c5460877e7cfa02220180593ef.diff Update Windows CI to be compatible with php/pie Changed paths: D .github/workflows/build.ps1 D .github/workflows/install.ps1 D .github/workflows/package.ps1 D .github/workflows/test.ps1 M .github/workflows/windows.yml Diff: diff --git a/.github/workflows/build.ps1 b/.github/workflows/build.ps1 deleted file mode 100644 index d4d9cf8..0000000 --- a/.github/workflows/build.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -param ( - [Parameter(Mandatory)] $arch -) - -$ErrorActionPreference = "Stop" - -Set-Location .. - -$develdir = (Get-Item "php-devel").FullName -$phpdir = (Get-Item "php").FullName -$Env:PATH = "$develdir;$phpdir;$Env:PATH" - -Set-Location "pecl-text-xdiff" - -$task = New-Item "..\task.bat" -Force -Add-Content $task "call phpize 2>&1" -Add-Content $task "call configure --with-prefix=$phpdir --with-extra-includes=deps\include --with-extra-libs=deps\lib --enable-debug-pack --with-xdiff" -Add-Content $task "nmake 2>&1" -Add-Content $task "exit %errorlevel%" -& "..\php-sdk\phpsdk-vc15-$arch.bat" -t $task -if (-not $?) { - throw "build failed with errorlevel $LastExitCode" -} diff --git a/.github/workflows/install.ps1 b/.github/workflows/install.ps1 deleted file mode 100644 index cf12633..0000000 --- a/.github/workflows/install.ps1 +++ /dev/null @@ -1,46 +0,0 @@ -param ( - [Parameter(Mandatory)] $version, - [Parameter(Mandatory)] $ts, - [Parameter(Mandatory)] $arch, - [Parameter(Mandatory)] $libxdiff -) - -$ErrorActionPreference = "Stop" - -if ($ts -eq "ts") { - $tspart = "" -} else { - $tspart = "-nts"; -} - -$releases = Invoke-WebRequest "https://windows.php.net/downloads/releases/releases.json" | ConvertFrom-Json -$phpversion = $releases.$version.version - -Set-Location .. - -# SDK - -$file = "php-sdk-2.2.0.zip" -Invoke-WebRequest "https://github.com/microsoft/php-sdk-binary-tools/archive/$file" -OutFile $file -Expand-Archive $file -DestinationPath . -Move-Item "php-sdk-binary-tools-php-sdk-2.2.0" -Destination "php-sdk" - -# PHP binaries - -$file = "php-$phpversion$tspart-Win32-vc15-$arch.zip" -Invoke-WebRequest "https://windows.php.net/downloads/releases/$file" -OutFile $file -Expand-Archive $file -DestinationPath "php" - -# PHP devel pack - -$file = "php-devel-pack-$phpversion$tspart-Win32-vc15-$arch.zip" -Invoke-WebRequest "https://windows.php.net/downloads/releases/$file" -OutFile $file -Expand-Archive $file -DestinationPath . -Move-Item "php-$phpversion-devel-vc15-$arch" -Destination "php-devel" - -# libxdiff - -$file = "libxdiff-$libxdiff-vc15-$arch.zip" -Invoke-WebRequest "https://windows.php.net/downloads/pecl/deps/$file" -OutFile $file -Expand-Archive $file -DestinationPath "deps" -Move-Item "deps\COPYING" "deps\COPYING.LIBXDIFF" diff --git a/.github/workflows/package.ps1 b/.github/workflows/package.ps1 deleted file mode 100644 index 8cbf4b1..0000000 --- a/.github/workflows/package.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -param ( - [Parameter(Mandatory)] $ts, - [Parameter(Mandatory)] $arch -) - -$ErrorActionPreference = "Stop" - -if ($arch -eq "x86") { - $builddir = "." -} else { - $builddir = "x64" -} -$builddir += "\Release" -if ($ts -eq "ts") { - $builddir += "_TS" -} - -$dir = New-Item "windows_package" -ItemType "directory" -Copy-Item "..\deps\COPYING.LIBXDIFF" -Destination $dir -Copy-Item "CREDITS" -Destination $dir -Copy-Item "LICENSE" -Destination $dir -Copy-Item "README.API" -Destination $dir -Copy-Item "$builddir\php_xdiff.dll" -Destination $dir -Copy-Item "$builddir\php_xdiff.pdb" -Destination $dir diff --git a/.github/workflows/test.ps1 b/.github/workflows/test.ps1 deleted file mode 100644 index 852c0d0..0000000 --- a/.github/workflows/test.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -param ( - [Parameter(Mandatory)] $arch -) - -$ErrorActionPreference = "Stop" - -Set-Location .. - -$develdir = (Get-Item "php-devel").FullName -$phpdir = (Get-Item "php").FullName -$Env:PATH = "$develdir;$phpdir;$Env:PATH" - -Set-Location "pecl-text-xdiff" - -$task = New-Item "..\task.bat" -Force -Add-Content $task 'nmake test TESTS="--show-diff tests" 2>&1' -Add-Content $task "exit %errorlevel%" -& "..\php-sdk\phpsdk-vc15-$arch.bat" -t $task -if (-not $?) { - throw "build failed with errorlevel $LastExitCode" -} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b945729..1f5a5e3 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,30 +1,60 @@ name: Windows build -on: [push] + +on: + push: + branches: ['**'] + tags: ['*'] + pull_request: + +permissions: + contents: write + jobs: + get-extension-matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.extension-matrix.outputs.matrix }} + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Get the extension matrix + id: extension-matrix + uses: php/php-windows-builder/extension-matrix@v1 + build: + needs: get-extension-matrix + runs-on: ${{ matrix.os }} strategy: - matrix: - version: [7.4, 7.3] - ts: [nts, ts] - arch: [x64, x86] - runs-on: windows-2016 + matrix: ${{ fromJson(needs.get-extension-matrix.outputs.matrix) }} + fail-fast: false steps: - name: Set git to use LF run: | git config --global core.autocrlf false git config --global core.eol lf + - name: Checkout - uses: actions/checkout@v2 - - name: Install - run: ./.github/workflows/install.ps1 -version ${{matrix.version}} -ts ${{matrix.ts}} -arch ${{matrix.arch}} -libxdiff 0.23 - - name: Build - run: ./.github/workflows/build.ps1 -arch ${{matrix.arch}} - - name: Package - run: ./.github/workflows/package.ps1 -ts ${{matrix.ts}} -arch ${{matrix.arch}} - - name: Test - run: ./.github/workflows/test.ps1 -arch ${{matrix.arch}} - - name: Upload - uses: actions/upload-artifact@v2 + uses: actions/checkout@v6 + + - name: Build the extension + uses: php/php-windows-builder/extension@v1 + with: + php-version: ${{ matrix.php-version }} + arch: ${{ matrix.arch }} + ts: ${{ matrix.ts }} + libs: libxdiff + # Many test work with the same lorem.tmp file, so we need to run them sequentially + test-workers: 1 + + release: + runs-on: ubuntu-latest + needs: build + if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }} + steps: + - name: Upload artifact to the release + uses: php/php-windows-builder/release@v1 with: - name: php_xdiff-dev-${{matrix.version}}-${{matrix.ts}}-vc15-${{matrix.arch}} - path: windows_package + release: ${{ github.ref }} + token: ${{ secrets.GITHUB_TOKEN }} + draft: 'true'

« previous php.pecl.cvs (#28510) next »