CI Snapdragon: Switch ubuntu-latest to ubuntu-slim runner (#22303)

* switch ubuntu-latest to ubuntu-slim

* Fix the path for upload so CI doesn't fail

* Update .github/workflows/build-and-test-snapdragon.yml

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>

* Use -slim image for key check and consistent naming for artifact dir

Signed-off-by: Max Krasnyansky <maxk@qti.qualcomm.com>

* Remove check-secret extra job

* move QDC key check for Run QDC jobs step specifically

* add a step before to check the secret for qdc jobs

---------

Signed-off-by: Max Krasnyansky <maxk@qti.qualcomm.com>
Co-authored-by: Max Krasnyansky <maxk@qti.qualcomm.com>
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
This commit is contained in:
Shreya Jain
2026-04-24 12:21:36 -07:00
committed by GitHub
parent 13d36cf891
commit a702f39597
+18 -15
View File
@@ -49,28 +49,19 @@ jobs:
cp docs/backend/snapdragon/CMakeUserPresets.json . cp docs/backend/snapdragon/CMakeUserPresets.json .
cmake --preset arm64-android-snapdragon-release -B build cmake --preset arm64-android-snapdragon-release -B build
cmake --build 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 - name: Upload Llama.CPP Snapdragon Android Build Artifact
if: ${{ always() && steps.build_llama_cpp_snapdragon_android.outcome == 'success' }} if: ${{ always() && steps.build_llama_cpp_snapdragon_android.outcome == 'success' }}
uses: actions/upload-artifact@v6 uses: actions/upload-artifact@v6
with: with:
name: llama-cpp-android-arm64-snapdragon name: llama-cpp-android-arm64-snapdragon
path: pkg-adb/llama.cpp path: pkg-snapdragon/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"
test-snapdragon-qdc: test-snapdragon-qdc:
name: Test on QDC Android Device (${{ matrix.device }}) name: Test on QDC Android Device (${{ matrix.device }})
needs: [android-ndk-snapdragon, check-secret] needs: [android-ndk-snapdragon]
if: needs.check-secret.outputs.has-key == 'true' runs-on: ubuntu-slim
runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -81,10 +72,10 @@ jobs:
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: Download build artifact - name: Download build artifact
uses: actions/download-artifact@v4 uses: actions/download-artifact@v7
with: with:
name: llama-cpp-android-arm64-snapdragon name: llama-cpp-android-arm64-snapdragon
path: pkg-snapdragon/ path: pkg-snapdragon/llama.cpp
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
@@ -92,13 +83,25 @@ jobs:
python-version: '3.x' python-version: '3.x'
cache: pip cache: pip
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y curl unzip
- name: Install QDC SDK wheel - name: Install QDC SDK wheel
run: | 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 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 unzip qdc_sdk.zip -d qdc_sdk
pip install qdc_sdk/qualcomm_device_cloud_sdk-0.2.3-py3-none-any.whl 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 }}) - name: Run QDC tests (${{ matrix.device }})
if: steps.check_secret.outputs.has-qdc-key == 'true'
run: | run: |
python scripts/snapdragon/qdc/run_qdc_jobs.py \ python scripts/snapdragon/qdc/run_qdc_jobs.py \
--test all \ --test all \