[PECL-CVS] [pecl-encryption-mcrypt] make-workflows-work: Make use of new pecl builder

[email protected] (Derick Rethans)
Newsgroups php.pecl.cvs
Message-ID <[email protected]>
Author: Derick Rethans (derickr)
Date: 2025-08-05T09:55:28+01:00

Commit: https://github.com/php/pecl-encryption-mcrypt/commit/d43e8edbc5c99ea1bb7148c56560b99b435a7e0b
Raw diff: https://github.com/php/pecl-encryption-mcrypt/commit/d43e8edbc5c99ea1bb7148c56560b99b435a7e0b.diff

Make use of new pecl builder

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


Diff:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1b543f8..cf6e52d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,96 +9,75 @@ 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: ${{matrix.os}}
-        name: "Windows: Build and test"
-        defaults:
-            run:
-                shell: cmd
+        needs: get-extension-matrix
+        runs-on: ${{ matrix.os }}
+        name: "Windows"
+        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-mcrypt
+                libs: libmcrypt
+
+    linux:
+        runs-on: ubuntu-latest
+        name: "Linux"
         strategy:
             fail-fast: false
             matrix:
-                os: [ windows-2019, windows-2022 ]
-                php: ["7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
-                arch: [x86, x64]
-                ts: [nts, ts]
+                php: [8.0, 8.1, 8.2, 8.3, 8.4, 8.5]
+                use-opcache: [true, false]
                 experimental: [false]
-                exclude:
-                  - { os: windows-2019, php: "8.5" }
-                  - { os: windows-2019, php: "8.4" }
-                  - { os: windows-2019, php: "8.3" }
-                  - { os: windows-2019, php: "8.2" }
-                  - { os: windows-2019, php: "8.1" }
-                  - { os: windows-2019, php: "8.0" }
-                  - { os: windows-2022, php: "7.4" }
-                  - { os: windows-2022, php: "7.3" }
         steps:
-                - name: Checkout Repository
-                  uses: actions/checkout@v3
-                - name: Extract Version
-                  shell: powershell
-                  run: |
-                    chcp 65001
-                    $r = Select-String -Path php_mcrypt.h -Pattern 'PHP_MCRYPT_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}}
-                      deps: "libmcrypt"
-                - 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 --with-mcrypt --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
+                    tools: pecl
+                    deps: "libmcrypt"
 
-                    $artifact_name = 'php_mcrypt-${{env.EXTENSION_VERSION}}-${{matrix.php}}'
+            -   name: Compile
+                run: phpize && ./configure && make all
 
-                    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' }
-                    if ('8.3' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.4' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs17' }
-                    if ('8.5' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs17' }
+            -   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_mcrypt.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@v4
-                  with:
-                      name: ${{env.ARTIFACT_NAME}}
-                      path: ${{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.