[PECL-CVS] [pecl-networking-xmlrpc] master: Update Windows CI to be compatible with php/pie (#6)

[email protected] (Shivam Mathur via GitHub) Thu, 9 Apr 2026 05:29:27 +0000
Newsgroups php.pecl.cvs
Message-ID <[email protected]>
Author: Shivam Mathur (shivammathur)
Committer: GitHub (web-flow)
Pusher: shivammathur
Date: 2026-04-09T10:59:24+05:30

Commit: https://github.com/php/pecl-networking-xmlrpc/commit/ea3c8b6a902a1b24f543aef035edb594211a05b3
Raw diff: https://github.com/php/pecl-networking-xmlrpc/commit/ea3c8b6a902a1b24f543aef035edb594211a05b3.diff

Update Windows CI to be compatible with php/pie (#6)

Changed paths:
  A  composer.json
  M  .github/workflows/ci.yml


Diff:

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 85b46c9..27bd76b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,37 +1,52 @@
 name: Build and Test
-on: [push, pull_request]
+
+on:
+  push:
+    branches: ['**']
+    tags: ['*']
+  pull_request:
+
+permissions:
+  contents: write
+
 jobs:
-  windows:
-    defaults:
-      run:
-        shell: cmd
+  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: ['8.0', '8.1', '8.2', '8.3']
-          arch: [x64, x86]
-          ts: [ts]
-    runs-on: windows-2019
+      fail-fast: false
+      matrix: ${{ fromJson(needs.get-extension-matrix.outputs.matrix) }}
     steps:
-      - name: Checkout xmlrpc
-        uses: actions/checkout@v4
-      - name: Setup PHP
-        id: setup-php
-        uses: php/[email protected]
+      - name: Checkout
+        uses: actions/checkout@v6
+
+      - name: Build the extension
+        uses: php/php-windows-builder/extension@v1
         with:
-          version: ${{matrix.version}}
-          arch: ${{matrix.arch}}
-          ts: ${{matrix.ts}}
-          deps: libiconv, libxml2
-      - name: Enable Developer Command Prompt
-        uses: ilammy/msvc-dev-cmd@v1
+          php-version: ${{ matrix.php-version }}
+          arch: ${{ matrix.arch }}
+          ts: ${{ matrix.ts }}
+          libs: libiconv, libxml2
+
+  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:
-          arch: ${{matrix.arch}}
-          toolset: ${{steps.setup-php.outputs.toolset}}
-      - name: phpize
-        run: phpize
-      - name: configure
-        run: configure --with-xmlrpc --with-prefix=${{steps.setup-php.outputs.prefix}}
-      - name: make
-        run: nmake
-      - name: test
-        run: nmake test TESTS="--show-diff tests"
+          release: ${{ github.ref }}
+          token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..4181d84
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,19 @@
+{
+  "name": "pecl/xmlrpc",
+  "type": "php-ext",
+  "license": "PHP-3.01",
+  "description": "Functions to write XML-RPC servers and clients",
+  "require": {
+    "php": ">=8.0.0"
+  },
+  "php-ext": {
+    "extension-name": "xmlrpc",
+    "configure-options": [
+      {
+        "name": "with-xmlrpc",
+        "description": "XMLRPC-EPI support",
+        "needs-value": false
+      }
+    ]
+  }
+}