[PECL-CVS] [pecl-datetime-timezonedb] fix-builds: Hopefully fix CI builds

[email protected] (Derick Rethans)
Newsgroups php.pecl.cvs
Message-ID <[email protected]>
Author: Derick Rethans (derickr)
Date: 2025-09-25T13:58:27+01:00

Commit: https://github.com/php/pecl-datetime-timezonedb/commit/3c7ac70dc5d9e8284587ea534ac0315ba4c8fc67
Raw diff: https://github.com/php/pecl-datetime-timezonedb/commit/3c7ac70dc5d9e8284587ea534ac0315ba4c8fc67.diff

Hopefully fix CI builds

Changed paths:
  M  .github/workflows/build.yml


Diff:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d24df04..d4c6d5f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,89 +9,72 @@ on:
     create:
 
 jobs:
+    get-extension-matrix:
+        runs-on: ubuntu-latest
+        name: "Windows Build Matrix"
+        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'
+
     windows:
-        runs-on: windows-latest
-        name: "Windows: Build and test"
-        defaults:
-            run:
-                shell: cmd
+        needs: get-extension-matrix
+        runs-on: ${{ matrix.os }}
+        name: "Windows"
+        strategy:
+            fail-fast: false
+            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 }}
+
+    linux:
+        runs-on: ubuntu-latest
+        name: "Linux"
         strategy:
             fail-fast: false
             matrix:
-                php: ["7.3", "7.4", "8.0", "8.1", "8.2", "8.3"]
-                arch: [x86, x64]
-                ts: [nts, ts]
+                php: [8.0, 8.1, 8.2, 8.3, 8.4, 8.5]
                 experimental: [false]
         steps:
-                - name: Checkout Repository
-                  uses: actions/checkout@v3
-                - name: Extract Version
-                  shell: powershell
-                  run: |
-                    chcp 65001
-                    $r = Select-String -Path php_timezonedb.h -Pattern 'PHP_TIMEZONEDB_VERSION\s+"(.*)"'
-                    $s = $r.Matches[0].Groups[1]
-                    echo "$s"
-                    $extension_version = 'EXTENSION_VERSION=' + $s
-                    echo $extension_version >> $env:GITHUB_ENV
-                - name: Setup PHP
-                  id: setup-php
-                  uses: php/[email protected]
-                  with:
-                      version: ${{matrix.php}}
-                      arch: ${{matrix.arch}}
-                      ts: ${{matrix.ts}}
-                - name: Enable Developer Command Prompt
-                  uses: ilammy/msvc-dev-cmd@v1
-                  with:
-                      arch: ${{matrix.arch}}
-                      toolset: ${{steps.setup-php.outputs.toolset}}
-                - name: Generate Build Files
-                  run: phpize
-                - name: Configure Build
-                  run: configure --enable-timezonedb --with-prefix=${{steps.setup-php.outputs.prefix}}
-                - name: Build
-                  run: nmake
-                - name: Define Module Env
-                  shell: powershell
-                  run: |
-                    chcp 65001
+            -   uses: actions/checkout@v4
 
-                    $dir = (Get-Location).Path + '\'
-                    if ('x64' -eq '${{matrix.arch}}') { $dir = $dir + 'x64\' }
-                    $dir = $dir + 'Release'
-                    if ('ts' -eq '${{matrix.ts}}') { $dir = $dir + '_TS' }
+            -   name: Setup PHP
+                uses: shivammathur/setup-php@v2
+                with:
+                    php-version: "${{ matrix.php }}"
+                    coverage: none
+                    ini-values: "session.save_path=/tmp"
+                    tools: pecl
 
-                    $artifact_name = 'php_timezonedb-${{env.EXTENSION_VERSION}}-${{matrix.php}}'
+            -   name: Compile
+                run: ./.build.scripts/compile.sh
 
-                    if ('7.2' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vc15' }
-                    if ('7.3' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vc15' }
-                    if ('7.4' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vc15' }
-                    if ('8.0' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.1' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.2' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
+            -   name: Run tests
+                continue-on-error: ${{ matrix.experimental }}
+                run: make test
 
-                    if ('nts' -eq '${{matrix.ts}}') { $artifact_name = $artifact_name + '-nts' }
-                    if ('x64' -eq '${{matrix.arch}}') { $artifact_name = $artifact_name + '-x86_64' }
-
-                    $extension_artifact_name = "ARTIFACT_NAME=" + $artifact_name
-                    echo $extension_artifact_name >> $env:GITHUB_ENV
-
-                    $from = $dir + '\php_timezonedb.dll'
-                    $to = $dir + '\' + $artifact_name + ".dll"
-                    Copy-Item $from -Destination $to
-                    $extension_artifact = "ARTIFACT=" + $to
-                    echo $extension_artifact >> $env:GITHUB_ENV
-
-                - name: Upload artifacts
-                  uses: actions/upload-artifact@v3
-                  with:
-                      name: ${{env.ARTIFACT_NAME}}
-                      path: ${{env.ARTIFACT}}
-
-                - name: Publish Binaries to Release
-                  if: ${{ startsWith(github.ref, 'refs/tags') }}
-                  uses: svenstaro/upload-release-action@v2
-                  with:
-                      asset_name: ${{env.ARTIFACT_NAME}}.dll
-                      file: ${{env.ARTIFACT}}
+    release:
+        runs-on: ubuntu-latest
+        name: "PIE Release Artifacts"
+        needs: windows
+        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 }}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.