Skip to content

Enhance offset access by defining various access modes, and restrict which ones are available for DOM classes #6130

Enhance offset access by defining various access modes, and restrict which ones are available for DOM classes

Enhance offset access by defining various access modes, and restrict which ones are available for DOM classes #6130

# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
name: "Reflection golden test"
on:
pull_request:
paths-ignore:
- 'compiler/**'
- 'apigen/**'
- 'changelog-generator/**'
- 'issue-bot/**'
push:
branches:
- "2.0.x"
paths-ignore:
- 'compiler/**'
- 'apigen/**'
- 'changelog-generator/**'
- 'issue-bot/**'
env:
REFLECTION_GOLDEN_TEST_FILE: "/tmp/reflection-golden.test"
REFLECTION_GOLDEN_SYMBOLS_FILE: "/tmp/reflection-golden-symbols.txt"
concurrency:
group: reflection-golden-test-${{ github.head_ref || github.run_id }} # will be canceled on subsequent pushes in pull requests but not branches
cancel-in-progress: true
jobs:
dump-php-symbols:
name: "Dump PHP symbols"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "8.3"
# Include exotic extensions to discover more symbols
extensions: ds,mbstring,runkit7,scoutapm,seaslog,simdjson,var_representation,yac
- name: "Install dependencies"
run: "composer install --no-interaction --no-progress"
- name: "Dump phpSymbols.txt"
run: "php tests/dump-reflection-test-symbols.php"
- uses: actions/upload-artifact@v4
with:
name: phpSymbols
path: ${{ env.REFLECTION_GOLDEN_SYMBOLS_FILE }}
reflection-golden-test:
name: "Reflection golden test"
needs: dump-php-symbols
runs-on: "ubuntu-latest"
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
steps:
- uses: Wandalen/[email protected]
with:
action: actions/download-artifact@v4
with: |
name: phpSymbols
path: /tmp
attempt_limit: 5
attempt_delay: 1000
- name: "Checkout base commit"
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.base.sha || github.event.before }}
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: pecl
extensions: ds,mbstring
ini-file: development
ini-values: memory_limit=2G
- name: "Install dependencies"
run: "composer install --no-interaction --no-progress"
- name: "Transform source code"
if: matrix.php-version != '8.1' && matrix.php-version != '8.2' && matrix.php-version != '8.3' && matrix.php-version != '8.4'
shell: bash
run: "vendor/bin/simple-downgrade downgrade -c build/downgrade.php ${{ matrix.php-version }}"
- name: "Dump previous reflection data"
run: "php tests/generate-reflection-test.php"
- uses: actions/upload-artifact@v4
with:
name: reflection-${{ matrix.php-version }}.test
path: ${{ env.REFLECTION_GOLDEN_TEST_FILE }}
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install dependencies"
run: "composer install --no-interaction --no-progress"
- name: "Transform source code"
if: matrix.php-version != '8.1' && matrix.php-version != '8.2' && matrix.php-version != '8.3' && matrix.php-version != '8.4'
shell: bash
run: "vendor/bin/simple-downgrade downgrade -c build/downgrade.php ${{ matrix.php-version }}"
- name: "Reflection golden test"
run: "make tests-golden-reflection || true"