cp docs/backend/snapdragon/CMakeUserPresets.json .
cmake --preset arm64-android-snapdragon-release -B build
cmake --build build
- cmake --install build --prefix pkg-adb/llama.cpp
+ cmake --install build --prefix pkg-snapdragon/llama.cpp
- name: Upload Llama.CPP Snapdragon Android Build Artifact
if: ${{ always() && steps.build_llama_cpp_snapdragon_android.outcome == 'success' }}
uses: actions/upload-artifact@v6
with:
name: llama-cpp-android-arm64-snapdragon
- path: pkg-adb/llama.cpp
-
- check-secret:
- runs-on: ubuntu-latest
- outputs:
- has-key: ${{ steps.check.outputs.has-key }}
- steps:
- - id: check
- run: echo "has-key=${{ secrets.QDC_API_KEY != '' }}" >> "$GITHUB_OUTPUT"
+ path: pkg-snapdragon/llama.cpp
test-snapdragon-qdc:
name: Test on QDC Android Device (${{ matrix.device }})
- needs: [android-ndk-snapdragon, check-secret]
- if: needs.check-secret.outputs.has-key == 'true'
- runs-on: ubuntu-latest
+ needs: [android-ndk-snapdragon]
+ runs-on: ubuntu-slim
strategy:
fail-fast: false
matrix:
uses: actions/checkout@v6
- name: Download build artifact
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v7
with:
name: llama-cpp-android-arm64-snapdragon
- path: pkg-snapdragon/
+ path: pkg-snapdragon/llama.cpp
- name: Set up Python
uses: actions/setup-python@v5
python-version: '3.x'
cache: pip
+ - name: Install system dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y curl unzip
+
- name: Install QDC SDK wheel
run: |
curl -fSL -o qdc_sdk.zip https://softwarecenter.qualcomm.com/api/download/software/tools/Qualcomm_Device_Cloud_SDK/All/0.2.3/qualcomm_device_cloud_sdk-0.2.3.zip
unzip qdc_sdk.zip -d qdc_sdk
pip install qdc_sdk/qualcomm_device_cloud_sdk-0.2.3-py3-none-any.whl
+ - name: Check QDC API key
+ id: check_secret
+ env:
+ QDC_API_KEY: ${{ secrets.QDC_API_KEY }}
+ run: echo "has-qdc-key=${{ env.QDC_API_KEY != '' }}" >> "$GITHUB_OUTPUT"
+
- name: Run QDC tests (${{ matrix.device }})
+ if: steps.check_secret.outputs.has-qdc-key == 'true'
run: |
python scripts/snapdragon/qdc/run_qdc_jobs.py \
--test all \