Skip to content

Cap unserialize recursion depth via unserialize_max_depth ini #163

Cap unserialize recursion depth via unserialize_max_depth ini

Cap unserialize recursion depth via unserialize_max_depth ini #163

Workflow file for this run

# Runs igbinary's tests and verifies that the package can be built.
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-environment-variables-in-a-matrix
strategy:
fail-fast: false
matrix:
include:
# NOTE: If this is not quoted, the yaml parser will convert 7.0 to the number 7,
# and the docker image `php:7` is the latest minor version of php 7.x (7.4).
- PHP_VERSION: '7.0'
PHP_VERSION_FULL: 7.0.33
DOCKER_ARCHITECTURE: i386
- PHP_VERSION: '7.1'
PHP_VERSION_FULL: 7.1.33
- PHP_VERSION: '7.2'
PHP_VERSION_FULL: 7.2.34
- PHP_VERSION: '7.3'
PHP_VERSION_FULL: 7.3.33
- PHP_VERSION: '7.4'
PHP_VERSION_FULL: 7.4.33
- PHP_VERSION: '8.0'
PHP_VERSION_FULL: 8.0.30
- PHP_VERSION: '8.0'
PHP_VERSION_FULL: 8.0.30
DOCKER_ARCHITECTURE: i386
- PHP_VERSION: '8.1'
PHP_VERSION_FULL: 8.1.34
- PHP_VERSION: '8.2'
PHP_VERSION_FULL: 8.2.30
- PHP_VERSION: '8.2'
PHP_VERSION_FULL: 8.2.30
DOCKER_ARCHITECTURE: i386
- PHP_VERSION: '8.3'
PHP_VERSION_FULL: 8.3.30
- PHP_VERSION: '8.4'
PHP_VERSION_FULL: 8.4.20
- PHP_VERSION: '8.5'
PHP_VERSION_FULL: 8.5.5
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v6
# Runs a single command using the runners shell
- name: Build and test in docker
run: bash ci/test_dockerized.sh ${{ matrix.PHP_VERSION }} ${{ matrix.PHP_VERSION_FULL }} ${{ matrix.DOCKER_ARCHITECTURE }}
- name: Build and test in docker again with valgrind
run: bash ci/test_dockerized_valgrind.sh ${{ matrix.PHP_VERSION }} ${{ matrix.PHP_VERSION_FULL }} ${{ matrix.DOCKER_ARCHITECTURE }}
windows:
defaults:
run:
shell: cmd
strategy:
fail-fast: false
matrix:
version:
# windows 2019 action runner is deprecated https://github.com/actions/runner-images/issues/12045
- { os: windows-2022, php: "7.2" }
- { os: windows-2022, php: "7.3" }
- { os: windows-2022, php: "7.4" }
- { os: windows-2022, php: "8.0" }
- { os: windows-2022, php: "8.1" }
- { os: windows-2022, php: "8.2" }
- { os: windows-2022, php: "8.3" }
- { os: windows-2022, php: "8.4" }
- { os: windows-2022, php: "8.5" }
arch: [x64]
ts: [nts, ts]
# https://github.com/php/setup-php-sdk?tab=readme-ov-file#inputs
runs-on: ${{matrix.version.os}}
steps:
- name: Checkout igbinary
uses: actions/checkout@v6
- name: Install VC15 component
if: ${{ matrix.version.php == '7.4' || matrix.version.php == '7.3' || matrix.version.php == '7.2' }}
shell: pwsh
run: |
Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
$installPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
$component = "Microsoft.VisualStudio.Component.VC.v141.x86.x64"
$args = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$installPath`"", '--add', $component, '--quiet', '--norestart', '--nocache')
$process = Start-Process -FilePath cmd.exe -ArgumentList $args -Wait -PassThru -WindowStyle Hidden
- name: Setup PHP
id: setup-php
uses: php/setup-php-sdk@v0.12
with:
version: ${{matrix.version.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: phpize
run: phpize
- name: configure
run: configure --enable-igbinary --enable-debug-pack --with-prefix=${{steps.setup-php.outputs.prefix}}
- name: make
run: nmake
# Run tests, failing if they fail. REPORT_EXIT_STATUS=1 is the default for tests in php 7.2+
- name: test
run: nmake test TESTS="--show-diff tests"
# Don't build DLLs for development commits or PRs.