From dfae5d4f56863d15441eb49510bfffbeb1cf88d4 Mon Sep 17 00:00:00 2001 From: Florian Engelhardt Date: Thu, 18 Dec 2025 11:15:25 +0100 Subject: [PATCH 1/4] check fix --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 59818c4..3bb5481 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -28,7 +28,7 @@ jobs: uses: actions/checkout@v4 - name: Setup PHP id: setup-php - uses: php/setup-php-sdk@v0.11 + uses: realFlowControl/setup-php-sdk@da6b39f8f8344bdc0b36ad23031a22a79a2e176a with: version: ${{matrix.version}} arch: ${{matrix.arch}} From 876cbca6b9c5ea10c78928b9653827aea37d1da7 Mon Sep 17 00:00:00 2001 From: Florian Engelhardt Date: Thu, 18 Dec 2025 12:36:32 +0100 Subject: [PATCH 2/4] switch to php-windows-builder to test --- .github/workflows/windows-release.yml | 49 -------------- .github/workflows/windows.yml | 92 ++++++++++++--------------- 2 files changed, 39 insertions(+), 102 deletions(-) delete mode 100644 .github/workflows/windows-release.yml diff --git a/.github/workflows/windows-release.yml b/.github/workflows/windows-release.yml deleted file mode 100644 index 45505da..0000000 --- a/.github/workflows/windows-release.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Publish Windows Releases -on: - release: - types: [published] - -permissions: - contents: write - -jobs: - get-extension-matrix: - runs-on: ubuntu-latest - outputs: - matrix: ${{ steps.extension-matrix.outputs.matrix }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Get the extension matrix - id: extension-matrix - uses: php/php-windows-builder/extension-matrix@v1 - with: - php-version-list: '8.0, 8.1, 8.2, 8.3, 8.4' - arch-list: 'x64, x86' - ts-list: 'ts' - build: - needs: get-extension-matrix - runs-on: ${{ matrix.os }} - strategy: - matrix: ${{fromJson(needs.get-extension-matrix.outputs.matrix)}} - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Build the extension - uses: php/php-windows-builder/extension@v1 - with: - php-version: ${{ matrix.php-version }} - arch: ${{ matrix.arch }} - ts: ${{ matrix.ts }} - args: --with-parallel - libs: pthreads - release: - runs-on: ubuntu-latest - needs: build - if: ${{ github.event_name == 'release' }} - steps: - - name: Upload artifact to the release - uses: php/php-windows-builder/release@v1 - with: - release: ${{ github.event.release.tag_name }} - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3bb5481..2ecaabd 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,6 +1,7 @@ name: Windows - on: + release: + types: [published] pull_request: null push: branches: @@ -10,63 +11,48 @@ on: schedule: - cron: "30 4 * * *" +permissions: + contents: write + jobs: + get-extension-matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.extension-matrix.outputs.matrix }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Get the extension matrix + id: extension-matrix + uses: php/php-windows-builder/extension-matrix@v1 + with: + php-version-list: '8.0, 8.1, 8.2, 8.3, 8.4, 8.5' + arch-list: 'x64, x86' + ts-list: 'ts' build: - defaults: - run: - shell: cmd + needs: get-extension-matrix + runs-on: ${{ matrix.os }} strategy: - matrix: - version: ["8.0", "8.1", "8.2", "8.3", "8.4"] - arch: [x64] - ts: [ts] - if: success() || failure() - runs-on: windows-2022 - name: Windows, PHP v${{matrix.version}} + matrix: ${{fromJson(needs.get-extension-matrix.outputs.matrix)}} steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup PHP - id: setup-php - uses: realFlowControl/setup-php-sdk@da6b39f8f8344bdc0b36ad23031a22a79a2e176a + - name: Build the extension + uses: php/php-windows-builder/extension@v1 with: - version: ${{matrix.version}} - arch: ${{matrix.arch}} - ts: ${{matrix.ts}} - cache: true - - name: Fetch dependencies - run: | - curl -LO https://downloads.php.net/~windows/pecl/deps/pthreads-3.0.0-vs16-${{matrix.arch}}.zip - 7z x pthreads-3.0.0-vs16-${{matrix.arch}}.zip -o..\deps - - name: Enable Developer Command Prompt - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{matrix.arch}} - toolset: ${{steps.setup-php.outputs.toolset}} - - name: phpize - run: phpize - - name: configure - run: configure --with-parallel --enable-debug-pack --with-prefix=${{steps.setup-php.outputs.prefix}} - - name: make - run: nmake - - name: test - run: nmake test TESTS="--show-diff tests" - - name: package - run: | - md win-install - copy LICENSE win-install - copy README.md win-install - if exist x64 ( - if exist x64\Release (set prefix=x64\Release) else set prefix=x64\Release_TS - ) else ( - if exist Release (set prefix=Release) else set prefix=Release_TS - ) - copy %prefix%\php_parallel.dll win-install - copy %prefix%\php_parallel.pdb win-install - copy ..\deps\COPYING win-install\COPYING.PTHREADS - copy ..\deps\bin\* win-install - - name: Upload artifacts - uses: actions/upload-artifact@v4 + php-version: ${{ matrix.php-version }} + arch: ${{ matrix.arch }} + ts: ${{ matrix.ts }} + args: --with-parallel + libs: pthreads + run-tests: true + release: + runs-on: ubuntu-latest + needs: build + if: ${{ github.event_name == 'release' }} + steps: + - name: Upload artifact to the release + uses: php/php-windows-builder/release@v1 with: - name: parallel-${{matrix.version}} - path: win-install + release: ${{ github.event.release.tag_name }} + token: ${{ secrets.GITHUB_TOKEN }} From accd43c7b4a18dead8c11cfcc81c7386cc5ca849 Mon Sep 17 00:00:00 2001 From: Florian Engelhardt Date: Thu, 18 Dec 2025 14:03:24 +0100 Subject: [PATCH 3/4] run windows with opcache but without JIT --- .github/workflows/windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2ecaabd..258b802 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -46,6 +46,8 @@ jobs: args: --with-parallel libs: pthreads run-tests: true + test-runner-args: -d opcache.jit=0 --show-diff -g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP + test-opcache-mode: both release: runs-on: ubuntu-latest needs: build From ee83ee1b9907f5c16b4aae8a6040ee3d9d0b5bba Mon Sep 17 00:00:00 2001 From: Florian Engelhardt Date: Fri, 19 Dec 2025 10:56:09 +0100 Subject: [PATCH 4/4] update to 1.5.0 --- .github/workflows/windows.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 258b802..df9d99d 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@v4 - name: Get the extension matrix id: extension-matrix - uses: php/php-windows-builder/extension-matrix@v1 + uses: php/php-windows-builder/extension-matrix@c89baa7d20ae73f2a022556132c3d6f4b56a89b8 #v1.5.1 with: php-version-list: '8.0, 8.1, 8.2, 8.3, 8.4, 8.5' arch-list: 'x64, x86' @@ -38,7 +38,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Build the extension - uses: php/php-windows-builder/extension@v1 + uses: php/php-windows-builder/extension@c89baa7d20ae73f2a022556132c3d6f4b56a89b8 #v1.5.1 with: php-version: ${{ matrix.php-version }} arch: ${{ matrix.arch }} @@ -54,7 +54,7 @@ jobs: if: ${{ github.event_name == 'release' }} steps: - name: Upload artifact to the release - uses: php/php-windows-builder/release@v1 + uses: php/php-windows-builder/release@c89baa7d20ae73f2a022556132c3d6f4b56a89b8 #v1.5.1 with: release: ${{ github.event.release.tag_name }} token: ${{ secrets.GITHUB_TOKEN }}