Commit 4b2a397c516 for php
commit 4b2a397c516917d09d9c47428a02ed4f1029d65a
Author: Michael Voříšek <mvorisek@mvorisek.cz>
Date: Tue Sep 29 15:49:33 2026 +0200
Verify bundled sources using CI - Opcache JIT IR (#20179)
diff --git a/.github/scripts/download-bundled/jit-ir.sh b/.github/scripts/download-bundled/jit-ir.sh
new file mode 100755
index 00000000000..fed7a9938d2
--- /dev/null
+++ b/.github/scripts/download-bundled/jit-ir.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+set -ex
+cd "$(dirname "$0")/../../.."
+
+tmp_dir=/tmp/php-src-download-bundled/jit-ir
+rm -rf "$tmp_dir"
+
+revision=00bec1ca490b8bc51f636a42040c5e9f64c1a91b
+
+git clone --depth 1 --revision="$revision" https://github.com/dstogov/ir.git "$tmp_dir"
+
+rm -rf ext/opcache/jit/ir
+cp -R "$tmp_dir" ext/opcache/jit/ir
+
+cd ext/opcache/jit/ir
+
+# remove unneeded files
+rm -rf .git
+rm -r .github
+rm -r bench
+rm -r examples
+rm -r tests
+rm -r tools
+rm -r fuzz
+rm README.md
+rm TODO
+rm ir.g
+rm ir_cpuinfo.c
+rm ir_emit_c.c
+rm ir_emit_llvm.c
+rm ir_load.c
+rm ir_load_llvm.c
+rm ir_main.c
+rm ir_mem2ssa.c
+
+# add extra files
+git restore README
diff --git a/.github/workflows/verify-bundled-files.yml b/.github/workflows/verify-bundled-files.yml
index 473d6e2d8f4..f3631747311 100644
--- a/.github/workflows/verify-bundled-files.yml
+++ b/.github/workflows/verify-bundled-files.yml
@@ -5,6 +5,7 @@ on:
paths: &paths
- '.github/scripts/download-bundled/**'
- 'Zend/asm/**'
+ - 'ext/opcache/jit/ir/**'
- 'ext/pcre/pcre2lib/**'
- 'ext/uri/uriparser/**'
pull_request:
@@ -34,6 +35,9 @@ jobs:
'boost-context':
- '.github/scripts/download-bundled/boost-context.*'
- 'Zend/asm/**'
+ 'jit-ir':
+ - '.github/scripts/download-bundled/jit-ir.*'
+ - 'ext/opcache/jit/ir/**'
pcre2:
- '.github/scripts/download-bundled/pcre2.*'
- 'ext/pcre/pcre2lib/**'
@@ -50,6 +54,15 @@ jobs:
echo "::group::Verify files"
.github/scripts/test-directory-unchanged.sh Zend/asm
echo "::endgroup::"
+ - name: 'JIT IR'
+ if: ${{ !cancelled() && (steps.changes.outputs.jit-ir == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }}
+ run: |
+ echo "::group::Download"
+ .github/scripts/download-bundled/jit-ir.sh
+ echo "::endgroup::"
+ echo "::group::Verify files"
+ .github/scripts/test-directory-unchanged.sh 'ext/opcache/jit/ir'
+ echo "::endgroup::"
- name: PCRE2
if: ${{ !cancelled() && (steps.changes.outputs.pcre2 == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }}
run: |