mirror of
https://github.com/php/pecl-encryption-mcrypt.git
synced 2026-03-23 23:12:15 +01:00
Add GHA, to also build Windows binaries
This commit is contained in:
90
.github/workflows/build.yml
vendored
Normal file
90
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
release:
|
||||
types: [created]
|
||||
create:
|
||||
|
||||
jobs:
|
||||
windows:
|
||||
runs-on: windows-latest
|
||||
name: "Windows: Build and test"
|
||||
defaults:
|
||||
run:
|
||||
shell: cmd
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php: ["7.3", "7.4", "8.0", "8.1", "8.2"]
|
||||
arch: [x86, x64]
|
||||
ts: [nts, ts]
|
||||
experimental: [false]
|
||||
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: cmb69/setup-php-sdk@v0.7
|
||||
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-mcrypt --with-prefix=${{steps.setup-php.outputs.prefix}}
|
||||
- name: Build
|
||||
run: nmake
|
||||
- name: Define Module Env
|
||||
shell: powershell
|
||||
run: |
|
||||
chcp 65001
|
||||
|
||||
$dir = (Get-Location).Path + '\'
|
||||
if ('x64' -eq '${{matrix.arch}}') { $dir = $dir + 'x64\' }
|
||||
$dir = $dir + 'Release'
|
||||
if ('ts' -eq '${{matrix.ts}}') { $dir = $dir + '_TS' }
|
||||
|
||||
$artifact_name = 'php_mcrypt-${{env.EXTENSION_VERSION}}-${{matrix.php}}'
|
||||
|
||||
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 ('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@v3
|
||||
with:
|
||||
name: ${{env.ARTIFACT_NAME}}
|
||||
path: ${{env.ARTIFACT}}
|
||||
Reference in New Issue
Block a user