From e5804f02a99e77fbd61d73059cae802875656436 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 30 Sep 2024 13:00:37 +0200 Subject: [PATCH 1/6] Use setup-php-sdk caching While a new release is pending, it seems worthwhile to make use of the caching as soon as possible to speed up Windows CI. --- .github/workflows/build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index fefd7deb..b4231090 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@v4 - name: Setup PHP id: setup-php - uses: php/setup-php-sdk@v0.9 + uses: php/setup-php-sdk@d07cd9875fcb041bbfa63c2c592c4e68a137e1ca with: version: ${{matrix.version}} arch: ${{matrix.arch}} From 5cf13f80c031eddbc87e401e38bbdf2cd70da097 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 30 Sep 2024 13:07:18 +0200 Subject: [PATCH 2/6] Actually enable caching --- .github/workflows/build-windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index b4231090..c30c9dfe 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -22,6 +22,7 @@ jobs: arch: ${{matrix.arch}} ts: ${{matrix.ts}} deps: zlib + cache: true - name: Fetch libmemcached run: curl -OLs https://windows.php.net/downloads/pecl/deps/libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip && 7z x libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip -o..\deps - name: Enable Developer Command Prompt From e9cd17e8433b50c05c143b31f057f25e88f73afa Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 30 Sep 2024 13:20:10 +0200 Subject: [PATCH 3/6] Test PHP 8.4 on Windows, too While caching speeds up the Windows builds, allocating an available runner takes some time (especially for many pushes in a short time). Thus we only build PHP 8.4 x64,zts, which should already suffice to detect most issues. --- .github/workflows/build-windows.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index c30c9dfe..3356c265 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -7,9 +7,13 @@ jobs: shell: cmd strategy: matrix: - version: ['8.3'] + version: ['8.3', '8.4'] arch: [x64, x86] ts: [nts, zts] + exclude: + - { version: '8.4', arch: x64, ts: zts } + - { version: '8.4', arch: x86, ts: nts } + - { version: '8.4', arch: x86, ts: zts } runs-on: windows-latest steps: - name: Checkout memcached From f6d3f3cdc73adc08b7ee946f2e3dbcaa7f17b654 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 30 Sep 2024 13:25:46 +0200 Subject: [PATCH 4/6] Use new download server windows.php.net is in the process of being replaced by downloads.php.net, so we switch right away. --- .github/workflows/build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 3356c265..d4d6133b 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -28,7 +28,7 @@ jobs: deps: zlib cache: true - name: Fetch libmemcached - run: curl -OLs https://windows.php.net/downloads/pecl/deps/libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip && 7z x libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip -o..\deps + run: curl -OLs https://downloads.php.net/~windows/pecl/deps/libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip && 7z x libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip -o..\deps - name: Enable Developer Command Prompt uses: ilammy/msvc-dev-cmd@v1 with: From ec1ec77036c485fe85f6ab2e264715bd0f9302df Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 30 Sep 2024 13:31:04 +0200 Subject: [PATCH 5/6] Cater to yet missing libmemcached-vs17 Using libmemcached-vs16 instead should be fine. --- .github/workflows/build-windows.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index d4d6133b..c5b04ce6 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -28,7 +28,9 @@ jobs: deps: zlib cache: true - name: Fetch libmemcached - run: curl -OLs https://downloads.php.net/~windows/pecl/deps/libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip && 7z x libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip -o..\deps + run: | + set MEMCACHED_FILENAME=libmemcached-1.1.1-${{steps.setup-php.outputs.vs == 'vs17' && 'vs16' || steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip + curl -OLs https://downloads.php.net/~windows/pecl/deps/%MEMCACHED_FILENAME% && 7z x %MEMCACHED_FILENAME% -o..\deps - name: Enable Developer Command Prompt uses: ilammy/msvc-dev-cmd@v1 with: From c681e1cb72f7809a2e021fef802d1ed5c43dc4ff Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 30 Sep 2024 15:07:48 +0200 Subject: [PATCH 6/6] Update setup-php-sdk to v0.10 --- .github/workflows/build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index c5b04ce6..4c2640e4 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -20,7 +20,7 @@ jobs: uses: actions/checkout@v4 - name: Setup PHP id: setup-php - uses: php/setup-php-sdk@d07cd9875fcb041bbfa63c2c592c4e68a137e1ca + uses: php/setup-php-sdk@v0.10 with: version: ${{matrix.version}} arch: ${{matrix.arch}}