Skip to content

Tags: markusfoo/php-apt-builder

Tags

php8.6.0-rc4-2

Toggle php8.6.0-rc4-2's commit message
chore(ci): move dispatch defaults to the 8.6.0RC4 cycle

workflow_dispatch defaults: php_tag=php-8.6.0RC4,
pkg_upstream_version=8.6.0~rc4. Also document the run #12 fix
(0045 patch re-anchor) in the README changelog and update the
inputs table.

php8.6.0-rc3-1

Toggle php8.6.0-rc3-1's commit message
chore(ci): move dispatch defaults to the 8.6.0RC2 cycle

php-8.6.0RC2 is the current pre-release; defaults now prefill
php_tag=php-8.6.0RC2 / pkg_upstream_version=8.6.0~rc2 so the form
cannot accidentally rebuild RC1. README inputs table and changelog
updated accordingly.

php8.6.0-rc2-1

Toggle php8.6.0-rc2-1's commit message
chore(ci): move dispatch defaults to the 8.6.0RC2 cycle

php-8.6.0RC2 is the current pre-release; defaults now prefill
php_tag=php-8.6.0RC2 / pkg_upstream_version=8.6.0~rc2 so the form
cannot accidentally rebuild RC1. README inputs table and changelog
updated accordingly.

php8.6.0-rc1-1

Toggle php8.6.0-rc1-1's commit message
fix(pecl): make redis NUL-termination patch idempotent for phpredis 6…

….3.0RC1

Run #7 (the first PHP 8.6.0RC1 build) failed in the PECL job with
'library.c patch does not match exactly once': the PECL job clones
phpredis from master, and upstream released 6.3.0RC1 between run #5
(2026-09-09, green) and run #7, changing library.c. Verified in the
6.3.0RC1 source: upstream now NUL-terminates all three decompress
buffers itself (lzf: safe_erealloc(..., 1) + data[res] = '\0'; zstd /
lz4: emalloc(len + 1) + terminator) -- the same fix this repo has
carried since 2026-09-01, so the local patch had become redundant.

Changes:
- fix_redis_library_nul.py is now idempotent: for each codec
  (lzf / zstd / lz4) it first checks whether the tree already
  NUL-terminates the buffer right after the decompress call (upstream
  fixed -> skip with a notice); it applies the patch only when the
  known unfixed shape matches verbatim; if neither shape is recognized
  it fails loudly instead of silently shipping a redis package with the
  PHP 8.6 json EOI bug
- README: changelog entry

Validation: executed against the real 6.3.0RC1 tree (all three codecs
detected as fixed, file untouched), a synthesized pre-6.3.0 tree (all
three patches applied, re-run is a no-op) and an unrecognized refactor
(hard error, exit 1). Configure flags and the bundled liblzf/ static
fallback confirmed unchanged in 6.3.0RC1.

php8.6.0-beta3-1

Toggle php8.6.0-beta3-1's commit message
fix(ci): check out repo in build-pecl so patch scripts resolve

The build-pecl job runs
$GITHUB_WORKSPACE/.github/patches/fix_redis_library_nul.py to
NUL-terminate phpredis decompressed buffers (PHP >= 8.6 json scanner
EOI), but the job never checked out this repository, so on the
runner the script did not exist and the job died right after the
igbinary prebuild with:

  python3: can't open file
  '.github/patches/fix_redis_library_nul.py': No such file or directory

(seen on the php-8.6.0beta3 run). The build-redis workflow is not
affected because it does have a checkout step.

Add an actions/checkout step at the top of build-pecl, mirroring the
"Check out this repo" step the smoke-test job already uses. The patch
script itself is committed and verified to still apply cleanly
against current phpredis develop (lzf/zstd/lz4 anchors each match
exactly once).

php8.6.0-beta2-3

Toggle php8.6.0-beta2-3's commit message
chore: bump defaults to php-8.6.0beta2, revision 2

php8.6.0-beta2-2

Toggle php8.6.0-beta2-2's commit message
chore: bump defaults to php-8.6.0beta2, revision 2

php8.6.0-beta1-1

Toggle php8.6.0-beta1-1's commit message
chore: add .gitkeep for logs-audit directory