@@ -10,6 +10,8 @@ SUITE=$1
1010FLOW=$2
1111ARTIFACT_DIR=$3
1212
13+ REPORT_FILE=" $ARTIFACT_DIR /test-report-$FLOW -$SUITE .csv"
14+
1315echo " Running backend test job for suite $SUITE , flow $FLOW ."
1416echo " Saving job artifacts to $ARTIFACT_DIR ."
1517
@@ -18,13 +20,38 @@ eval "$(conda shell.bash hook)"
1820CONDA_ENV=$( conda env list --json | jq -r " .envs | .[-1]" )
1921conda activate " ${CONDA_ENV} "
2022
21- # Setup swiftshader and Vulkan SDK which are required to build the Vulkan delegate
22- source .ci/scripts/setup-vulkan-linux-deps.sh
23+ export PYTHON_EXECUTABLE=python
2324
2425# CMake options to use, in addition to the defaults.
25- EXTRA_BUILD_ARGS=" -DEXECUTORCH_BUILD_VULKAN=ON"
26+ EXTRA_BUILD_ARGS=" "
27+
28+ if [[ " $FLOW " == * qnn* ]]; then
29+ # Setup QNN sdk and deps - note that this is a bit hacky due to the nature of the
30+ # Qualcomm build. TODO (gjcomer) Clean this up once the QNN pybinding integration is
31+ # cleaned up.
32+ PYTHON_EXECUTABLE=python bash .ci/scripts/setup-linux.sh --build-tool cmake
33+ PYTHON_EXECUTABLE=python bash .ci/scripts/setup-qnn-deps.sh
34+ PYTHON_EXECUTABLE=python bash .ci/scripts/build-qnn-sdk.sh
35+ QNN_X86_LIB_DIR=` realpath build-x86/lib/`
36+ QNN_SDK_ROOT=" /tmp/qnn/2.28.0.241029"
37+ export LD_LIBRARY_PATH" =$QNN_X86_LIB_DIR :$QNN_SDK_ROOT /lib/x86_64-linux-clang/:${LD_LIBRARY_PATH:- } "
38+
39+ # TODO Get SDK root from install scripts
40+ EXTRA_BUILD_ARGS+=" -DEXECUTORCH_BUILD_QNN=ON -DQNN_SDK_ROOT=$QNN_SDK_ROOT "
41+ fi
42+
43+ if [[ " $FLOW " == * vulkan* ]]; then
44+ # Setup swiftshader and Vulkan SDK which are required to build the Vulkan delegate
45+ source .ci/scripts/setup-vulkan-linux-deps.sh
46+
47+ EXTRA_BUILD_ARGS+=" -DEXECUTORCH_BUILD_VULKAN=ON"
48+ fi
2649
2750# We need the runner to test the built library.
28- PYTHON_EXECUTABLE=python CMAKE_ARGS=" $EXTRA_BUILD_ARGS " .ci/scripts/setup-linux.sh --build-tool cmake --build-mode Release
51+ PYTHON_EXECUTABLE=python CMAKE_ARGS=" $EXTRA_BUILD_ARGS " .ci/scripts/setup-linux.sh --build-tool cmake --build-mode Release --editable true
52+
53+ EXIT_CODE=0
54+ python -m executorch.backends.test.suite.runner $SUITE --flow $FLOW --report " $REPORT_FILE " || EXIT_CODE=$?
2955
30- python -m executorch.backends.test.suite.runner $SUITE --flow $FLOW --report " $ARTIFACT_DIR /test_results.csv"
56+ # Generate markdown summary.
57+ python -m executorch.backends.test.suite.generate_markdown_summary " $REPORT_FILE " > ${GITHUB_STEP_SUMMARY:- " step_summary.md" } --exit-code $EXIT_CODE
0 commit comments