Skip to content

Conversation

@savil
Copy link
Collaborator

@savil savil commented Oct 24, 2025

Problem

The cli-tests on main failed on Oct 24 due to a flaky test in the php-dom extension for PHP 8.2.29:

building '/nix/store/4m46w082habdfswbjagviz3b43g86c8z-php-dom-8.2.29.drv'...
error: builder for '/nix/store/4m46w082habdfswbjagviz3b43g86c8z-php-dom-8.2.29.drv' failed with exit code 2;

FAILED TEST SUMMARY
GH-10234 (Setting DOMAttr::textContent results in an empty attribute value.) [tests/gh10234.phpt]

Analysis

Evidence of PHP version difference between runs:

Oct 23 run - ✅ SUCCESS

Oct 24 run - ❌ FAILURE

  • Run: 18774433913
  • Job: test (is-main, ubuntu-latest, project-tests-only, 2.12.0)
  • PHP Version: 8.2.29
  • Log excerpt:
    building '/nix/store/4m46w082habdfswbjagviz3b43g86c8z-php-dom-8.2.29.drv'...
    error: builder for '/nix/store/4m46w082habdfswbjagviz3b43g86c8z-php-dom-8.2.29.drv' failed with exit code 2;
    
    FAILED TEST SUMMARY
    GH-10234 (Setting DOMAttr::textContent results in an empty attribute value.) [tests/gh10234.phpt]
    

The issue is specific to PHP 8.2.29 in nixpkgs-unstable.

Solution

Update the examples/plugins/builtin example from php82 to php83.

This is a conservative approach because:

  • ✅ PHP 8.3.3 already proven to work (Oct 23 success)
  • ✅ Maintains upstream testing (doesn't skip tests)
  • ✅ Minimal change (one line)
  • ✅ Avoids the problematic PHP 8.2.29 version

Changes

  • examples/plugins/builtin/devbox.json: Change from plugin:php82 to plugin:php83

Alternative Considered

Initially considered adding doCheck = false to the PHP plugin flake, but updating the PHP version is cleaner and more conservative since PHP 8.3 is already known to work.

Testing

This PR will trigger cli-tests. The examples/plugins/builtin test should pass with PHP 8.3.

The php82 version (8.2.29) in nixpkgs-unstable has a flaky test in the
php-dom extension (gh10234.phpt) that causes intermittent CI failures.

Moving to php83 (which successfully built as version 8.3.3 on Oct 23)
provides a conservative upgrade path while avoiding the flaky test.

This is preferable to modifying the PHP plugin flake to skip all tests,
as it allows us to keep upstream testing while avoiding the specific
problematic version.

Fixes the Oct 24 CI failure in the plugins_builtin_run_test.test.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@savil savil closed this Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants