Skip to content

CI should fail on PHP deprecated errors and report errors for deprecated implicit float to int precision loss #8036

CI should fail on PHP deprecated errors and report errors for deprecated implicit float to int precision loss

CI should fail on PHP deprecated errors and report errors for deprecated implicit float to int precision loss #8036

Workflow file for this run

name: Run unit tests on Windows
on: [push, pull_request]
permissions:
contents: read
jobs:
chunk-matrix:
permissions:
contents: none
name: Generate Chunk Matrix
runs-on: ubuntu-latest
env:
CHUNK_COUNT: 8
outputs:
count: ${{ steps.chunk-matrix.outputs.count }}
chunks: ${{ steps.chunk-matrix.outputs.chunks }}
steps:
- id: chunk-matrix
name: Generates the Chunk Matrix
run: |
echo "count=$(php -r 'echo json_encode([ ${{ env.CHUNK_COUNT }} ]);')" >> $GITHUB_OUTPUT
echo "chunks=$(php -r 'echo json_encode(range(1, ${{ env.CHUNK_COUNT }} ));')" >> $GITHUB_OUTPUT
shell: bash
tests:
name: "Unit Tests - ${{ matrix.chunk }}"
runs-on: windows-latest
needs:
- chunk-matrix
strategy:
fail-fast: false
matrix:
count: ${{ fromJson(needs.chunk-matrix.outputs.count) }}
chunk: ${{ fromJson(needs.chunk-matrix.outputs.chunks) }}
env:
CHUNK_COUNT: "${{ matrix.count }}"
CHUNK_NUMBER: "${{ matrix.chunk }}"
PARALLEL_PROCESSES: 4
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
ini-values: zend.assertions=1, assert.exception=1, opcache.enable_cli=1, opcache.jit=function, opcache.jit_buffer_size=512M, error_reporting=E_ALL
tools: composer:v2
coverage: none
extensions: none, curl, dom, filter, intl, json, libxml, mbstring, openssl, opcache, pcre, phar, reflection, simplexml, spl, tokenizer, xml, xmlwriter
env:
fail-fast: true
- uses: actions/checkout@v4
- name: Get Composer Cache Directories
id: composer-cache
run: |
echo "files_cache=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
echo "vcs_cache=$(composer config cache-vcs-dir)" >> $GITHUB_OUTPUT
shell: bash
- name: Generate composer.lock
run: |
composer update --no-install
env:
COMPOSER_ROOT_VERSION: dev-master
- name: Cache composer cache
uses: actions/cache@v4
with:
path: |
${{ steps.composer-cache.outputs.files_cache }}
${{ steps.composer-cache.outputs.vcs_cache }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Run composer install
run: composer install -o
env:
COMPOSER_ROOT_VERSION: dev-master
- name: Generate test suits
run: php bin/generate_testsuites.php $env:CHUNK_COUNT
- name: Run unit tests
run: vendor/bin/paratest --processes=$env:PARALLEL_PROCESSES --testsuite=chunk_$env:CHUNK_NUMBER --log-junit build/phpunit/phpunit.xml