feat(php): add SDK examples component#3368
Merged
Merged
Conversation
PHP examples were missing from the repository example runner and component detection graph, so PHP SDK changes did not get the same examples coverage as the other SDKs. Add producer and consumer examples, teach the README runner about PHP, and wire examples-php into CI. Constraint: examples-php must depend on the PHP SDK, Rust SDK, Rust server, and CI infrastructure components. Rejected: Fold PHP examples into sdk-php tasks | existing repository pattern keeps examples as separate components. Confidence: high Scope-risk: narrow Directive: Keep PHP example commands parseable by scripts/run-examples-from-readme.sh when adding new examples. Tested: php -l examples/php/**/*.php Tested: bash -n scripts/run-examples-from-readme.sh Tested: git diff --check Tested: ./scripts/ci/markdownlint.sh examples/php/README.md Tested: ./scripts/ci/license-headers.sh --check Tested: cargo build --locked --bin iggy-server Tested: cargo build in foreign/php Not-tested: Full PHP example runner on macOS; local iggy-server did not emit readiness and logged memory binding failures.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3368 +/- ##
============================================
- Coverage 73.66% 73.62% -0.04%
Complexity 943 943
============================================
Files 1223 1223
Lines 115710 115710
Branches 92447 92475 +28
============================================
- Hits 85234 85195 -39
- Misses 27607 27610 +3
- Partials 2869 2905 +36
🚀 New features to boost your workflow:
|
hubcio
requested changes
May 29, 2026
The PHP examples runner discovered local extension artifacts with repo-root-relative paths, which broke once the shared README runner changed into examples/php. Normalize discovered extension paths to absolute paths and apply the PHP example cleanups requested in review. Constraint: CI already exports an absolute PHP_IGGY_EXTENSION, but local runs need the same property after cd examples/php. Rejected: Keep Windows DLL candidates | examples CI does not run PHP on Windows and the local fallback only needs Linux/macOS artifacts. Confidence: high Scope-risk: narrow Directive: Keep PHP_IGGY_EXTENSION absolute before run_language_examples changes directories. Tested: php -l examples/php/**/*.php Tested: bash -n scripts/run-examples-from-readme.sh Tested: git diff --check Tested: ./scripts/ci/markdownlint.sh examples/php/README.md Tested: ./scripts/ci/license-headers.sh --check Not-tested: Full PHP example runner on macOS; local iggy-server readiness issue persists independently of this path fix.
Contributor
Author
|
/ready |
hubcio
approved these changes
May 29, 2026
spetz
approved these changes
May 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/phpfor getting-started and basic producer/consumer flowsexamples-phpcomponent entry with PHP SDK, Rust SDK, Rust server, and CI infrastructure dependencies_test_examples.ymlandscripts/run-examples-from-readme.shCloses #3311.
Validation
php -lfor all PHP example filesbash -n scripts/run-examples-from-readme.shgit diff --check./scripts/ci/markdownlint.sh examples/php/README.md./scripts/ci/license-headers.sh --checkcargo build --locked --bin iggy-servercargo buildinforeign/php