Skip to content

fix tests for 8.5.0beta2 #121

fix tests for 8.5.0beta2

fix tests for 8.5.0beta2 #121

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.32
- PHP_VERSION: '7.4'
PHP_VERSION_FULL: 7.4.30
- 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.29
- PHP_VERSION: '8.2'
PHP_VERSION_FULL: 8.2.22
- PHP_VERSION: '8.2'
PHP_VERSION_FULL: 8.2.22
DOCKER_ARCHITECTURE: i386
- PHP_VERSION: '8.3.10'
PHP_VERSION_FULL: 8.3.10
- PHP_VERSION: '8.4.0alpha4'
PHP_VERSION_FULL: 8.4.0alpha4
# 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@v4
# Runs a single command using the runners shell
- name: Build and test in docker
run: bash ci/test_dockerized.sh ${{ matrix.PHP_VERSION }} ${{ matrix.DOCKER_ARCHITECTURE }}
# We reuse the php base image because
# 1. It has any necessary dependencies installed for php 7.0-8.2
# 2. It is already downloaded
#
# We need to install valgrind then rebuild php from source with the configure option '--with-valgrind' to avoid valgrind false positives
# because php-src has inline assembly that causes false positives in valgrind when that option isn't used.
# The OS release in the PHP 7.0 image is too old to install valgrind without workarounds: https://stackoverflow.com/questions/76094428/debian-stretch-repositories-404-not-found
- name: Build and test in docker again with valgrind
run: if [[ ${{ matrix.PHP_VERSION }} != '7.0' ]]; then bash ci/test_dockerized_valgrind.sh ${{ matrix.PHP_VERSION }} ${{ matrix.PHP_VERSION_FULL }} ${{ matrix.DOCKER_ARCHITECTURE }}; fi
# NOTE: tests report false positives for zend_string_equals in php 7.3+
# due to the use of inline assembly in php-src. (not related to igbinary)
windows:
defaults:
run:
shell: cmd
strategy:
fail-fast: false
matrix:
version:
# 7.2 and 7.3 currently fail due to https://github.com/php/setup-php-sdk/issues/10
# - { os: windows-2019, php: "7.2" }
# - { os: windows-2019, php: "7.3" }
- { os: windows-2019, 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" }
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@v2
- name: Setup PHP
id: setup-php
uses: php/setup-php-sdk@v0.9
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.