Repository navigation
tests: Check PHP 8.6 #80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
3bf0a18
2ca0cbd
354b69b
3106ea0
d79eef8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ name: CI | |
| on: [push, pull_request] | ||
|
|
||
| jobs: | ||
| Alpine: | ||
| alpine: | ||
| strategy: | ||
| matrix: | ||
| php-version: | ||
|
|
@@ -14,27 +14,27 @@ jobs: | |
| - "8.5-cli-alpine3.22" | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: "Checkout" | ||
| uses: actions/checkout@v4 | ||
| - name: Checkout | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - name: "Build and test extension" | ||
| - name: Build and test extension | ||
| run: "docker build -t simdjsontest -f docker-alpine --build-arg BASE_IMAGE=${{ matrix.php-version }} ." | ||
|
|
||
| - name: "Show info" | ||
| - name: Show info | ||
| run: "docker run --rm simdjsontest php --ri simdjson" | ||
|
|
||
| Ubuntu-dev: | ||
| ubuntu-dev: | ||
| strategy: | ||
| matrix: | ||
| php-version: | ||
| - "8.2.30" | ||
| - "8.3.30" | ||
| - "8.4.17" | ||
| - "8.5.2" | ||
| - "8.2.33" | ||
| - "8.3.33" | ||
| - "8.4.24" | ||
| - "8.5.9" | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: "Checkout" | ||
| uses: actions/checkout@v4 | ||
| - name: Checkout | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - name: Install required packages | ||
| run: | | ||
|
|
@@ -61,7 +61,7 @@ jobs: | |
| NO_INTERACTION: "true" | ||
| run: make test TESTS="-m --show-diff -j$(nproc)" | ||
|
|
||
| Ubuntu: | ||
| ubuntu: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
|
|
@@ -72,6 +72,7 @@ jobs: | |
| - "8.3" | ||
| - "8.4" | ||
| - "8.5" | ||
| - "8.6" | ||
| os: | ||
| - ubuntu-latest | ||
| - ubuntu-24.04-arm | ||
|
|
@@ -81,7 +82,7 @@ jobs: | |
| continue-on-error: ${{ matrix.experimental }} | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - name: Install PHP | ||
| uses: shivammathur/setup-php@v2 | ||
|
|
@@ -92,16 +93,19 @@ jobs: | |
| tools: pecl, phpize, php-config | ||
|
|
||
| - name: Build extension | ||
| env: | ||
| NO_INTERACTION: "true" | ||
| SIMDJSON_HIGH_MEMORY_TESTS: "1" | ||
| run: | | ||
| php-config --extension-dir | ||
| phpize | ||
| ./configure | ||
| make -j$(nproc) | ||
| sudo make install | ||
| make test TESTS="--show-diff -j2 -q" | ||
|
|
||
| - name: Run tests | ||
| env: | ||
| NO_INTERACTION: "true" | ||
| SIMDJSON_HIGH_MEMORY_TESTS: "1" | ||
| run: | | ||
| make test TESTS="--show-diff -j2 -q" | ||
|
|
||
| - name: Show | ||
| run: "php -dextension=simdjson.so --ri simdjson" | ||
|
|
@@ -119,7 +123,7 @@ jobs: | |
| echo | ||
| done | ||
|
|
||
| Macos: | ||
| macos: | ||
| runs-on: macos-latest | ||
| continue-on-error: false | ||
| strategy: | ||
|
|
@@ -128,7 +132,7 @@ jobs: | |
| php: ['8.0', '8.1', '8.2', '8.3', '8.4', '8.5'] | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - name: Install PHP ${{ matrix.php }} | ||
| uses: shivammathur/setup-php@v2 | ||
|
|
@@ -138,13 +142,14 @@ jobs: | |
| coverage: none | ||
| tools: none | ||
|
|
||
| - name: Build simdjson | ||
| - name: Build extension | ||
| run: | | ||
| phpize | ||
| ./configure | ||
| make -j$(nproc) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- workflow context ---'
sed -n '130,160p' .github/workflows/integration.yml
printf '%s\n' '--- shellcheck/actionlint references ---'
rg -n 'make -j|actionlint|shellcheck|SC2046' .github Makefile README.md 2>/dev/null || true
printf '%s\n' '--- available validators ---'
command -v actionlint || true
command -v shellcheck || trueRepository: JakubOnderka/simdjson_php Length of output: 1182 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- actionlint ---'
actionlint .github/workflows/integration.yml || true
printf '%s\n' '--- shellcheck unquoted form ---'
printf '%s\n' 'make -j$(nproc)' | shellcheck -s bash -f gcc - || true
printf '%s\n' '--- shellcheck quoted form ---'
printf '%s\n' 'make -j"$(nproc)"' | shellcheck -s bash -f gcc - || true
printf '%s\n' '--- shell behavior for representative nproc output ---'
python3 - <<'PY'
import subprocess
for text in ("make -j$(printf '8')", "make -j$(printf '8\\n')", "make -j$(printf '8 ')"):
p = subprocess.run(["bash", "-n"], input=text + "\n", text=True)
print(f"{text!r}: bash -n exit={p.returncode}")
PYRepository: JakubOnderka/simdjson_php Length of output: 2227 Quote every
🧰 Tools🪛 zizmor (1.29.0)[warning] 1-156: overly broad permissions (excessive-permissions): default permissions used due to no permissions: block (excessive-permissions) [warning] 126-156: overly broad permissions (excessive-permissions): default permissions used due to no permissions: block (excessive-permissions) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||
|
|
||
| - name: Run tests | ||
| env: | ||
| SIMDJSON_HIGH_MEMORY_TESTS: "1" | ||
| run: | | ||
| export SIMDJSON_HIGH_MEMORY_TESTS=1 | ||
| make test TESTS="--show-diff -j2 -q" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
Repository: JakubOnderka/simdjson_php
Length of output: 50381
🏁 Script executed:
Repository: JakubOnderka/simdjson_php
Length of output: 6099
Fix or explicitly mark the PHP 8.6 matrix as experimental before merge.
Both PHP 8.6 jobs are required because
experimentalisfalse. They fail duringBuild extensionwithHT_SIZE_EXandEMPTY_SWITCH_DEFAULT_CASEcompilation errors. Confirm that PHP 8.6 nightly testing is intentional.🧰 Tools
🪛 zizmor (1.29.0)
[warning] 1-156: overly broad permissions (excessive-permissions): default permissions used due to no permissions: block
(excessive-permissions)
[warning] 64-124: overly broad permissions (excessive-permissions): default permissions used due to no permissions: block
(excessive-permissions)
🤖 Prompt for AI Agents
Source: MCP tools