This is an automated email from the ASF dual-hosted git repository.

hgruszecki pushed a commit to branch 1889-test-examples
in repository https://gitbox.apache.org/repos/asf/iggy.git

commit 78ff9cbdfd2c5ba49d3cdb07bece44b3d74ddf6e
Author: Huan-Cheng Chang <[email protected]>
AuthorDate: Sun Sep 28 11:20:58 2025 +0100

    read whl path
---
 .github/workflows/_test_examples.yml       | 13 +++++++++--
 scripts/run-python-examples-from-readme.sh | 36 ++++++++++++++++++++++++++++--
 2 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/_test_examples.yml 
b/.github/workflows/_test_examples.yml
index 0353ed9ec..6aeaa926f 100644
--- a/.github/workflows/_test_examples.yml
+++ b/.github/workflows/_test_examples.yml
@@ -112,12 +112,21 @@ jobs:
           # Run the examples script which will use the prebuilt server binary
           ./scripts/run-csharp-examples-from-readme.sh
 
-      - name: Run Python examples
+      - name: Download pre-built python wheels
+        id: download-python-wheels
         if: inputs.component == 'examples-suite' && inputs.task == 
'examples-python'
+        uses: actions/download-artifact@v4
+        with:
+          name: python-test-results-${{ github.run_id }}-${{ 
github.run_attempt }}
+          path: ./scripts/python-dist
+
+      - name: Run Python examples
+        if: inputs.component == 'examples-suite' && inputs.task == 
'examples-python' && steps.download-python-wheels.outcome == 'success'
         run: |
+          whl_path=$(realpath "$(find ./scripts -name "*.whl")")
           echo "Running Python examples tests..."
           # Run the examples script which will use the prebuilt server binary
-          ./scripts/run-python-examples-from-readme.sh
+          ./scripts/run-python-examples-from-readme.sh "$whl_path"
 
       - name: Upload reports
         if: always()
diff --git a/scripts/run-python-examples-from-readme.sh 
b/scripts/run-python-examples-from-readme.sh
index e252950ef..e5ce01c50 100755
--- a/scripts/run-python-examples-from-readme.sh
+++ b/scripts/run-python-examples-from-readme.sh
@@ -40,8 +40,33 @@ readonly LOG_FILE="iggy-server.log"
 readonly PID_FILE="iggy-server.pid"
 readonly TIMEOUT=300
 
-# Get target architecture from argument or use default
-TARGET="${1:-}"
+SDK_WHEEL_PATH="${1:-}"
+
+if [ -z "${SDK_WHEEL_PATH}" ]; then
+    echo "Python SDK wheel path is missing."
+    echo "Usage: $0 <SDK_WHEEL_PATH> [--target TARGET]"
+    exit 1
+fi
+
+shift 1
+
+TARGET="" # Iggy server target architecture
+
+# Get Cargo --target values from arguments or use defaults
+while [[ $# -gt 0 ]]; do
+    case "$1" in
+        --target)
+            TARGET="$2"
+            shift 2
+            ;;
+        *)
+            echo "Unknown option: $1"
+            echo "Usage: $0 <SDK_WHEEL_PATH> [--target TARGET]"
+            exit 1
+            ;;
+    esac
+done
+
 if [ -n "${TARGET}" ]; then
     echo "Using target architecture: ${TARGET}"
 else
@@ -97,6 +122,12 @@ echo "🚀 Running python example scripts..."
 
 cd examples/python || exit 1
 
+echo "Installing dependencies"
+pip -r requirements.txt
+
+echo "Installing SDK from $SDK_WHEEL_PATH"
+pip install --force-reinstall $SDK_WHEEL_PATH
+
 exit_code=0
 
 # Execute all example commands from examples/python/README.md and check if 
they pass or fail
@@ -124,6 +155,7 @@ if [ -f "README.md" ]; then
             echo ""
             echo -e "\e[31mExample command failed:\e[0m ${command}"
             echo ""
+            exit_code=$test_exit_code
             break
         fi
         # Add a small delay between examples to avoid potential race conditions

Reply via email to