summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorShivam Mathur <shivam_jpr@hotmail.com>2026-04-19 23:56:29 +0530
committerRemi Collet <remi@php.net>2026-04-21 09:50:45 +0200
commit18943c394cfca8c30d5f9d9836ab8b7787761e81 (patch)
tree70545985258b1348041d604e5ca46b5439d7082e /.github
parent15c8a7b0f36dfa14de7c6391db5565dd8e329030 (diff)
Add Windows support in CI
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yaml46
1 files changed, 45 insertions, 1 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 7dcbf25..e78ae08 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -2,9 +2,40 @@ name: CI
on:
push:
branches:
- - master
+ - master
+ tags:
+ - '*'
pull_request:
jobs:
+ Windows_Matrix:
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.extension-matrix.outputs.matrix }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Get Windows extension matrix
+ id: extension-matrix
+ uses: php/php-windows-builder/extension-matrix@v1
+
+ Windows:
+ name: Windows_${{ matrix.php-version }}_${{ matrix.arch }}_${{ matrix.ts }}
+ needs: Windows_Matrix
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJson(needs.Windows_Matrix.outputs.matrix) }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Build and test Windows extension
+ uses: php/php-windows-builder/extension@v1
+ with:
+ php-version: ${{ matrix.php-version }}
+ arch: ${{ matrix.arch }}
+ ts: ${{ matrix.ts }}
+ libs: libxcrypt
+ test-runner-args: -q --show-diff
Linux_EL9:
runs-on: ubuntu-latest
strategy:
@@ -127,3 +158,16 @@ jobs:
env:
TEST_PHP_ARGS: '-q --show-diff'
run: make test
+ Windows_Release:
+ if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
+ needs: [Windows, Linux_EL9, Linux_EL10, Linux_Fedora, Linux_Debian]
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: write
+ steps:
+ - name: Upload Windows artifacts to release
+ uses: php/php-windows-builder/release@v1
+ with:
+ release: ${{ github.ref }}
+ token: ${{ secrets.GITHUB_TOKEN }}