diff --git a/.github/workflows/build-and-test-snapdragon.yml b/.github/workflows/build-and-test-snapdragon.yml index 7eb204ea2..deed8e808 100644 --- a/.github/workflows/build-and-test-snapdragon.yml +++ b/.github/workflows/build-and-test-snapdragon.yml @@ -49,28 +49,19 @@ jobs: 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: @@ -81,10 +72,10 @@ jobs: 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 @@ -92,13 +83,25 @@ jobs: 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 \