[litertlm] add --verbose option to the CLI #983
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "CI-CMake" | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| workflow_dispatch: | |
| inputs: | |
| REFRESH_CACHE: | |
| description: 'Refresh build cache' | |
| type: boolean | |
| default: false | |
| permissions: | |
| contents: read | |
| actions: write | |
| env: | |
| MODEL_KEY: gemma-3-1b-it-v1 | |
| MODEL_PATH: ./models/gemma3-1b-it-int4.litertlm | |
| MODEL_URL: https://huggingface.co/litert-community/Gemma3-1B-IT/resolve/main/gemma3-1b-it-int4.litertlm | |
| CCACHE_DIR: "${{ github.workspace }}/.ccache" | |
| CCACHE_SLOPPINESS: "time_macros" | |
| jobs: | |
| presubmit: | |
| name: "Presubmit-CMake-Linux" | |
| runs-on: LiteRT_Linux_x64 | |
| container: | |
| image: ubuntu:24.04 | |
| steps: | |
| - name: Install System Dependencies | |
| run: | | |
| apt-get update && apt-get install -y \ | |
| build-essential cmake make gdb pkg-config \ | |
| openjdk-17-jre-headless git wget curl unzip \ | |
| tar python3 python3-dev python3-pip \ | |
| python3-numpy ccache zlib1g-dev libssl-dev \ | |
| libpng-dev libcurl4-openssl-dev libfftw3-dev \ | |
| apt-file && apt-file update | |
| - name: Install Rust | |
| run: | | |
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Download Model | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| run: | | |
| mkdir -p ./models | |
| echo "Downloading model from Hugging Face..." | |
| curl -L --retry 5 -f \ | |
| -H "Authorization: Bearer $HF_TOKEN" \ | |
| -o ${{ env.MODEL_PATH }} \ | |
| "${{ env.MODEL_URL }}" | |
| ls -lh ${{ env.MODEL_PATH }} | |
| - name: Cache FetchContent Deps | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| cmake/build/_deps | |
| cmake/build/third_party | |
| key: ${{ runner.os }}-fc-deps-${{ hashFiles('cmake/modules/fetch_content.cmake') }} | |
| - name: Cache ExternalProject Deps | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| cmake/build/external/abseil-cpp | |
| cmake/build/external/protobuf | |
| cmake/build/external/re2 | |
| cmake/build/external/sentencepiece | |
| cmake/build/external/tokenizers-cpp | |
| cmake/build/external/opencl_headers | |
| key: ${{ runner.os }}-ext-deps-${{ hashFiles('cmake/packages/absl/**', 'cmake/packages/protobuf/**', 'cmake/packages/re2/**', 'cmake/packages/sentencepiece/**', 'cmake/packages/tokenizers/**', 'cmake/packages/opencl/**') }} | |
| - name: Cache TensorFlow | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| cmake/build/external/tensorflow | |
| key: ${{ runner.os }}-tflite-${{ hashFiles('cmake/packages/tflite/**') }} | |
| restore-keys: | | |
| ${{ runner.os }}-tflite- | |
| - name: Cache LiteRT | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| cmake/build/external/litert | |
| key: ${{ runner.os }}-litert-${{ hashFiles('cmake/packages/litert/**') }} | |
| restore-keys: | | |
| ${{ runner.os }}-litert- | |
| - name: Cache CCache | |
| uses: actions/cache@v4 | |
| with: | |
| path: .ccache | |
| key: ${{ runner.os }}-ccache-${{ hashFiles('**/CMakeLists.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-ccache- | |
| - name: Cache Generated Sourcetree & Flatbuffers | |
| id: cache-generated | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| cmake/build/generated | |
| cmake/build/external/flatbuffers | |
| key: ${{ runner.os }}-generated-src-v1-${{ hashFiles('schema/**/*.fbs', 'cmake/modules/generators.cmake', 'cmake/packages/flatbuffers/**', 'c/**/*.{cc,h}', 'schema/**/*.{cc,h}', 'runtime/**/*.{cc,h}') }} | |
| - name: Configure CMake | |
| run: | | |
| # The restored caches will populate external/ and _deps/ before this runs. | |
| cmake -B cmake/build -G "Unix Makefiles" -S . \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_CXX_COMPILER=g++ \ | |
| -DCMAKE_C_COMPILER=gcc \ | |
| -DENABLE_CCACHE=ON | |
| - name: Build | |
| run: cmake --build cmake/build --config Release --parallel $(nproc) | |
| - name: Install pytest | |
| run: python3 -m pip install --break-system-packages pytest==8.3.4 | |
| - name: Run pytest | |
| run: pytest tools/test/ --model-path=${{ env.MODEL_PATH }} --build-system=cmake | |