7878 secrets :
7979 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
8080
81+ # PHP SDK
82+ test-php :
83+ name : PHP • ${{ matrix.task }}
84+ needs : detect
85+ if : ${{ fromJson(needs.detect.outputs.php_matrix).include[0].component != 'noop' }}
86+ strategy :
87+ fail-fast : false
88+ matrix : ${{ fromJson(needs.detect.outputs.php_matrix) }}
89+ uses : ./.github/workflows/_test.yml
90+ with :
91+ component : ${{ matrix.component }}
92+ task : ${{ matrix.task }}
93+
8194 # Node SDK
8295 test-node :
8396 name : Node • ${{ matrix.task }}
@@ -193,7 +206,7 @@ jobs:
193206 # Final status check
194207 finalize_pr :
195208 runs-on : ubuntu-latest
196- needs : [common, detect, test-rust, test-python, test-node, test-go, test-java, test-csharp, test-cpp, test-bdd, test-examples, test-other]
209+ needs : [common, detect, test-rust, test-python, test-php, test- node, test-go, test-java, test-csharp, test-cpp, test-bdd, test-examples, test-other]
197210 if : ${{ !cancelled() }}
198211 steps :
199212 - name : Get job execution times
@@ -271,6 +284,7 @@ jobs:
271284 // Set outputs for each component
272285 const rust = findJobInfo('Rust •');
273286 const python = findJobInfo('Python •');
287+ const php = findJobInfo('PHP •');
274288 const node = findJobInfo('Node •');
275289 const go = findJobInfo('Go •');
276290 const java = findJobInfo('Java •');
@@ -291,6 +305,7 @@ jobs:
291305 // Output formatted durations
292306 core.setOutput('rust_time', formatJobDuration(rust));
293307 core.setOutput('python_time', formatJobDuration(python));
308+ core.setOutput('php_time', formatJobDuration(php));
294309 core.setOutput('node_time', formatJobDuration(node));
295310 core.setOutput('go_time', formatJobDuration(go));
296311 core.setOutput('java_time', formatJobDuration(java));
@@ -381,6 +396,7 @@ jobs:
381396 # Language/component tests
382397 rust_status=$(format_status "${{ needs.test-rust.result }}" "${{ steps.times.outputs.rust_time }}")
383398 python_status=$(format_status "${{ needs.test-python.result }}" "${{ steps.times.outputs.python_time }}")
399+ php_status=$(format_status "${{ needs.test-php.result }}" "${{ steps.times.outputs.php_time }}")
384400 node_status=$(format_status "${{ needs.test-node.result }}" "${{ steps.times.outputs.node_time }}")
385401 go_status=$(format_status "${{ needs.test-go.result }}" "${{ steps.times.outputs.go_time }}")
386402 java_status=$(format_status "${{ needs.test-java.result }}" "${{ steps.times.outputs.java_time }}")
@@ -392,6 +408,7 @@ jobs:
392408
393409 echo "| 🦀 Rust | $rust_status | ${{ steps.times.outputs.rust_time }} |" >> $GITHUB_STEP_SUMMARY
394410 echo "| 🐍 Python | $python_status | ${{ steps.times.outputs.python_time }} |" >> $GITHUB_STEP_SUMMARY
411+ echo "| 🐘 PHP | $php_status | ${{ steps.times.outputs.php_time }} |" >> $GITHUB_STEP_SUMMARY
395412 echo "| 🟢 Node | $node_status | ${{ steps.times.outputs.node_time }} |" >> $GITHUB_STEP_SUMMARY
396413 echo "| 🐹 Go | $go_status | ${{ steps.times.outputs.go_time }} |" >> $GITHUB_STEP_SUMMARY
397414 echo "| ☕ Java | $java_status | ${{ steps.times.outputs.java_time }} |" >> $GITHUB_STEP_SUMMARY
@@ -408,6 +425,7 @@ jobs:
408425 [[ "${{ needs.detect.result }}" == "failure" ]] || \
409426 [[ "${{ needs.test-rust.result }}" == "failure" ]] || \
410427 [[ "${{ needs.test-python.result }}" == "failure" ]] || \
428+ [[ "${{ needs.test-php.result }}" == "failure" ]] || \
411429 [[ "${{ needs.test-node.result }}" == "failure" ]] || \
412430 [[ "${{ needs.test-go.result }}" == "failure" ]] || \
413431 [[ "${{ needs.test-java.result }}" == "failure" ]] || \
@@ -423,6 +441,7 @@ jobs:
423441 [[ "${{ needs.detect.result }}" == "cancelled" ]] || \
424442 [[ "${{ needs.test-rust.result }}" == "cancelled" ]] || \
425443 [[ "${{ needs.test-python.result }}" == "cancelled" ]] || \
444+ [[ "${{ needs.test-php.result }}" == "cancelled" ]] || \
426445 [[ "${{ needs.test-node.result }}" == "cancelled" ]] || \
427446 [[ "${{ needs.test-go.result }}" == "cancelled" ]] || \
428447 [[ "${{ needs.test-java.result }}" == "cancelled" ]] || \
0 commit comments